Git|GitHub

Git - 브랜치(문서 병합)

hyeon1016 2024. 10. 6. 04:03

명령어

명령어 내용
$ 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 브랜치를 제거한다.