데이터 과학 노트

Git 본문

Development/Git

Git

Data Scientist Note 2023. 4. 21. 00:17

분산 버전 관리 시스템 (Distributed Version Control System)

기본 명령어

# Git 저장소 만들기
git init

git status  # gst

git add [폴더/파일]  # working directory -> staging area

git commit -m "[COMMIT_MESSAGE]"  # staging area -> repository
# 커밋 메시지는 명령어 사용 (Add, Fix, Update, ...)

git log

git revert [COMMIT_SHA]  # 이전 커밋으로 돌리기 (이력 유지)
git reset [COMMIT_SHA] --hard  # 이전 커밋으로 돌리기 (이력 제거)

작업 분기

비선형적인 개발을 위한 작업 분기 (특정 기능, 버전, ...)

git switch -c [BRANCH_NAME]  # 브랜치 생성 (-c) 및 이동
git branch [BRANCH_NAME]  # 브랜치 생성
git checkout [BRANCH_NAME]  # 브랜치 이동 (예전 버전 명령어)

# main 브랜치로 이동 / 브랜치 1의 수정 사항을 main 브랜치로 머지
git switch main
git merge branch-1

# merge conflict 가 생겼다면,
# 충돌 지점 (<<<<<<<, =======, >>>>>>>) 코드 선택 후 add, commit

git branch  # 모든 브랜치 리스트

git branch -d branch-1  # branch-1 삭제

git log

# TODO: git rebase

원격 저장소 (remote repository)

git clone [GITHUB_REPO_URL]

git remote add <name> <url>
git remote add origin https://github.com/[USER]/[REPO].git

git pus -u origin main  # main 브랜치를 orgin 에 설정된 원격 저장소로 push
git push

git pull

GitHub Flow

TODO

참조