⚡ 브랜치 사용 예시 ⚡
명령어 | 내용 |
---|---|
git branch [-v] | 로컬 저장소의 브랜치 목록 확인 -v 옵션 사용시 마지막 커밋도 함께 표시한다. ⚡ 브랜치 중 이름 왼쪽에 *가 붙어있으면 HEAD 브랜치 |
git branch [-f] <브랜치 이름> [커밋체크섬] | 새로운 브랜치 생성. 커밋체크섬 값을 주지 않으면 HEAD로부터 브랜치 생성 -f 옵션 : 이미 있는 브랜치를 다른 커밋으로 옮기고 싶을 때 사용 ⚡ 커밋체크섬 = 해시 = 커밋아이디 |
git branch -r[v] | 원격 저장소에 있는 브랜치를 확인할 때 사용 -v 옵션 : 커밋 요약 확인 가능 |
git checkout <브랜치 이름> | 특정 브랜치로 체크아웃 할 때 사용. 브랜치 이름 대신 커밋체크섬 사용 가능하긴 함 |
git checkout -b <브랜치 이름> <커밋체크섬> | 특정 커밋에서 브랜치를 새로 생성하고 동시에 체크아웃 진행 |
git merge <대상 브랜치> | 현재 브랜치와 대상 브랜치를 병합할 때 사용 병합커밋(merge commit)이 생기는 경우가 많다. |
git merge --abort | merge 명령 취소 |
git rebase <대상 브랜치> | 내 브랜치의 커밋들을 대상 브랜치에 재배치. 히스토리가 깔끔해지나 사용시 주의해야 한다. ⚡ 원격저장소에 푸시한 브랜치는 rebase하지 않는것이 원칙 |
git rebase --continue | 충돌로 중단된 rebase 재개 |
git branch -d <브랜치 이름> | 특정 브랜치를 삭제할 때 사용. HEAD 브랜치나 병합되지 않은 브랜치는 삭제 불가 |
git branch -D <브랜치 이름> | 브랜치를 강제로 삭제하는 명령어 -d로 삭제할 수 없는 브랜치를 강제로 지우고 싶을때 사용 |
git reset --hard <이동할 커밋체크섬> | 현재 브랜치를 지정한 커밋으로 옮기며 작업 폴더의 내용도 함께 변경된다. |
HEAD~<숫자> | HEAD~는 HEAD의 부모 커밋, HEAD~2는 할아버지 커밋 HEAD~n은 n번째 위쪽 조상이라는 뜻 |
HEAD^<숫자> | HEAD^는 HEAD의 부모 커밋, HEAD^2는 두번째 부모를 가리킨다. 병합 커밋처럼 부모가 둘 이상인 커밋에서만 의미있음 |
💫HEAD에 대해서 알아야 할 점 💫
명령어 | 내용 |
---|---|
git tag -a -m <간단한 메시지> <태그 이름> [브랜치 또는 체크섬] | -a : 주석 있는(annotated)태그 생성 ⚡ 메시지와 태그 이름은 필수, 브랜치 이름 생략시 HEAD에 태그 생성 |
git push <원격저장소 별명> <태그 이름> | 원격 저장소에 태그를 업로드 |