티스토리 뷰

Git

[Git] 2. 브랜치와 충돌

mandykr 2021. 12. 13. 14:11

1. 브랜치 만들고 이동하기

  - git branch [브랜치명] : 브랜치 만들기

  - git checkout [브랜치명] : 브랜치 이동하기

  - git checkout -b [브랜치명] : 브랜치 만들고 이동하기

 

2. 수정한 내용 합치기 (merge)

  - mandy 브랜치의 수정한 내용을 main 브랜치로 합치기

  - git checkout main : main 브랜치로 이동

  - git merge mandy : mandy 브랜치를 merge 하면서 새로운 버전을 만들어 커밋

 

 

3. 충돌 (conflict)

  - 서로다른 브랜치가 파일의 같은 부분을 수정한 경우 merge 시기에 발생

  - 충돌이 발생하면 파일이 다음과 같이 변경된다.

  - HEAD 브랜치의 내용 혹은 mandy 브랜치의 내용으로 변경된 부분을 수정하고 커밋하면 됨.

>>>>>>> HEAD
HEAD 브랜치의 내용
=======
mandy 브랜치의 내용
>>>>>>> mandy

 

4. 3 way merge

  - mandy 브랜치를 main 브랜치로 merge할 때 base 와 각 브랜치를 비교를 통해 충돌을 줄이는 방법

  - base 의 내용을 하나의 브랜치만 변경한 경우 해당 내용으로 합친다.

  - 두 개의 브랜치 모두 base 의 내용을 변경한 부분은 conflict 발생

base main mandy 3 way merge
A A D D
B E B E
C F G conflict 발생

 

 

 

 

출처

생활코딩 유튜브

728x90

'Git' 카테고리의 다른 글

[Git] 3. 협업  (0) 2021.12.13
[Git] 1. 버전관리  (0) 2021.12.11