git branch
git branch 명령어를 실행하면 로컬에 존재하는 브랜치 리스트가 나오며, *는 현재 선택된 브랜치(checkout된 브랜치)를 의미한다.
git branch BRANCH_NAME
git branch로 생성한 브랜치를 선택하기 위해서는 git checkout
을 사용해야 한다.
git checkout BRANCH_NAME
새로운 브랜치를 생성함과 동시에 해당 브랜치를 선택할 수도 있다.
git checkout -b BRANCH_NAME
git log
현재 브랜치의 수정사항을 확인할 수 있다.
git log --branches
--branches
옵션을 사용하면 로컬에 존재하는 모든 브랜치의 이력을 확인할 수 있다.
git log --branches --graph
--graph
옵션을 사용하면 그래프 형태로 출력된다.
git log --branches --graph --oneline
--oneline
옵션을 사용하면 간단하게 브랜치와 메세지만을 확인할 수 있다.
git log mian.BRANCH_NAME
이 명령어를 실행하면, 현재 브랜치와 main 브랜치의 커밋 차이를 확인할 수 있다.
git log -p main.BRANCH_NAME
-p
옵션을 사용하면 수정된 내용도 함께 확인할 수 있다.
git diff main.BRANCH_NAME
git diff 명령어를 사용하면 좀 더 간단하게 두 브랜치 사이의 차이점을 확인할 수 있다.
새로운 브랜치를 만들어 새로운 기능 개발을 끝냈다면, 해당 기능을 main branch에 병합(merge)하여 새로운 기능을 사용자에게 제공해야 한다.
새로운 기능을 포함하고 있는 BRANCH_NAME을 main branch에 병합해보자!
git checkout main
BRANCH_NAME을 main branch에 병합하기 위해서 main branch로 이동해야 한다.
git merge BRANCH_NAME
git merge
명령어를 사용하여 main 브랜치에 병합하고자 하는 브랜치를 병합한다.
git branch -d BRANCH_NAME
-d
옵션을 사용하여 병합된 브랜치를 제거할 수 있다.
병합하지 않은 브랜치를 제거하고자 할 땐 -D
옵션을 사용해야 한다.
git merge 명령어를 사용하여 브랜치를 병합할 때, 동일한 파일을 수정한 경우 충돌로 인해 병합에 실패한다.
git status
명령어를 실행하여 현재 상태를 확인하면 병합하지 못한 파일을 확인할 수 있다.
git reset --merge BRANCH_NAME
바로 직전 병합을 취소한다.
git revert 605f5e3
// git revert 무력화할 commit
revert
명령은 기존 커밋과 정확히 반대되는 커밋을 만든다.
reset으로 삭제하거나 변경하는 것보다는 history 관리 측면으로 봤을 때 revert로 기존 commit을 무력화시키는 것이 더 좋다.
git revert --mainline 1 cb70c2d
// git revert --mainline 남길line 병합commit
--mainline
옵션으로 어느 브랜치를 남길지 결정할 수 있다.
<참고 : https://cosmosproject.tistory.com/270
https://dev-yakuza.posstree.com/ko/git/branch-merge/
https://velog.io/@dev2820/Git-%EC%A0%95%EB%A6%AC-%EB%B3%91%ED%95%A9-%EC%B7%A8%EC%86%8C%ED%95%98%EA%B8%B0 >