Command Line Interface를 통해 Git을 사용하는 방법
git branch 새로운 브랜치명
으로 새로운 브랜치를 생성할 수 있다.
git branch
로 브랜치 목록을 볼 수 있다.(별표가 현재 브랜치)
git checkout 브랜치명
으로 해당 브랜치가 가리키는 버전의 시점으로 돌아갈 수 있다.
git checkout 커밋 아이디
로 브랜치가 아닌 커밋을 가리키는 상태는 detached 상태라고 한다.
git log --all --graph --oneline
를 통해 모든 브랜치 시각적으로 확인할 수 있다.
main에 다른 브랜치를 병합하고 싶을 경우
git merge 병합하고 싶은 브랜치
자동으로 병합되어 merge commit이 생성된다.
충돌이 발생한다.
충돌이 발생한 파일을 열어보면
=======의 상단은 main 브랜치의 내용, 하단은 o2 브랜치의 내용이다.
‘main’과 ‘o2’를 어떻게 할 것인지 선택해서 수동으로 수정한다.(=== 이나 <<< 같은 기호들은 지워준다.)
다시 add하고 git commit
을 하면 정상적으로 merge commit이 생성된다.
위 케이스와 같이 main과 다른 브랜치를 병합하는 것을 2 way merge라고 하는데, 3 way merge를 이용하면 병합 시 충돌을 최소화할 수 있다.
브랜치 1, 브랜치 2, base가 있으면
충돌 상태에서 git mergetool
로 merge tool을 실행할 수 있다.
git config --global merge.tool p4merge
git config --global mergetool.p4merge.path "C:/Program Files/Perforce/p4merge.exe"