Git - 브랜치(문서 병합)
명령어
명령어 | 내용 |
$ git branch -d aaa | aaa브랜치를 삭제한다. |
서로 다른 브랜치에서 문서의 다른 부분 수정 시 병합
1. 작업 디렉터리 생성 및 이동
$ git init manual-3
$ cd manual-3
manual-3 디렉터리를 생성 후 초기화를 진행하고, 작업 디렉터리로 이동한다.
2. 작업 파일 생성 및 커밋
#title
content
#title
content
작업 디렉터리 내부에 work.txt를 생성하고, 위 텍스트를 입력한다.
$ git add work.txt
$ git commit -m "work1"
이후 work.txt를 커밋한다.
3. 브랜치 생성
$ git branch o2
o2 브랜치를 생성한다.
4. main 브랜치 문서 수정 및 커밋
#title
content
main content 2
#title
content
work.txt 파일의 내용을 수정하고 커밋한다.
$ git commit -am "main work2"
5. o2 브랜치 문서 수정 및 커밋
$ git switch o2
#title
content
#title
content
o2 content 2
o2 브랜치로 이동하고 work.txt 파일의 내용을 바꿔준다.
$ git commit -am "o2 work2"
이후 work.txt 파일을 커밋한다.
6. 병합
$ git switch main
$ git merge o2
main 브랜치로 이동하고 o2 브랜치를 가져와 병합한다.
$ cat work.txt
![]() |
cat 명령어를 통해 병합이 잘 되었는지 확인한다.
서로 다른 브랜치에서 문서의 같은 부분 수정 시 병합
1. 작업 디렉터리 생성 및 이동
$ git init manual-4
$ cd manual-4
manual-4 디렉터리를 생성 후 초기화하고, manual-4 디렉터리로 이동한다.
2. 작업 파일 생성 및 커밋
#title
content
#title
content
work.txt 파일을 생성하고 위 텍스트를 입력한다.
$ git add work.txt
$ git commit -m "work1"
이후 work.txt 파일을 커밋한다.
3. 브랜치 생성
$ git branch o2
o2 브랜치를 생성한다.
4. main 브랜치 파일 수정 및 커밋
#title
content
main content2
#title
content
$ git commit -am "main work2"
work.txt 파일을 위 텍스트로 수정하고, 커밋한다.
5. o2 브랜치 파일 수정 및 커밋
$ git switch o2
o2 브랜치로 이동한다.
#title
content
o2 content2
#title
content
$ git commit -am "o2 work2"
o2 브랜치의 work.txt 파일을 위 텍스트로 수정하고 커밋한다.
6. 병합
$ git switch main
$ git merge o2
main 브랜치로 이동하여 o2 브랜치를 가져와 병합한다.
![]() |
병합을 하게 되면 위 코드가 표시되는데, 파일의 동일한 부분이 수정되었기 때문에 자동 병합에 실패했다는 뜻이다.
이 경우에는 파일을 수동으로 수정해줘야 한다.
#title
content
<<<<<<< HEAD
main content 2
============
o2 content 2
>>>>>>>> o2
#title
content
<<<HEAD와 ==== 사이에 있는 내용이 현재 브랜치 파일의 내용, ==== 와 >>>>o2 사이의 내용이 o2 브랜치 파일의 내용이다.
#title
content
main content2
o2 content2
#title
content
양쪽 브랜치의 내용을 확인하고 위에처럼 수정할 수 있다.
$ git commit -am "merge o2 branch"
$ git log --oneline --branches --graph
![]() |
수정된 work.txt를 수정하고 히스토리를 확인하면 병합이 잘 된 것을 확인할 수 있다.
7. o2 브랜치 제거
병합 후 사용하지 않는 브랜치는 제거할 수 있다. 단 이렇게 제거한 브랜치는 완전하게 제거되는 것이 아니며, 동일한 이름의 브랜치를 생성하면 예전 내용을 확인할 수 있다.
$ git switch main
$ git branch -d o2
main 브랜치로 이동하여 o2 브랜치를 제거한다.