merge에는 주종관계가 있기 때문에 선후관계를 명확히 해야 함 (예, main/master branch로 이동해서 다른 branch 병합하기)Merge를 직접 실행하기 전에 Merge Tool을 설정해야함
git config --global -e # 에디터가 열리면 config 파일에 아래의 코드 추가 [merge] tool = vscode [mergetool "vscode"] cmd = "code --wait $MERGED" # 저장 후 닫기
현재 위치한 Branch에 다른 branch를 병합
git merge <branchname>
ㄱ. Merge tool 실행
Conflict 발생 후 아래와 같이 merge tool을 실행하면 conflict난 파일들이 차례로 열림
git mergetool
프린트 결과)
Merging:
test.txt
Normal merge conflict for 'test.txt':
{local}: modified file
{remote}: modified file
이후, master(main) branch와 다른 branch의 diff가 나타나는데, 여기서 선택하고 싶은 걸 제외하고 다 삭제하고 저장하면 됨
다음으로 conflict 해제 (git add + git commit)
git add test.txt git commit
그러면 기본 에디터에 'Merge branch 'branchname' into master'라고 뜸
이거는 저장하고 닫으면 됨 (Merge 완료)
완료된 merge를 git log를 통해 확인할 수 있음