티스토리 뷰

프로젝트 협업을 할 때 버전관리를 위해 GitHub를 사용하고 있는데요,

서로 전혀 다른 부분을 수정했을 때는 충돌이 생기지 않지만,

같은 파일을 수정하는데 수정한 부분이 겹치는 경우, 병합할 때 충돌(CONFLICT)이 생기게 됩니다!

 

 

예제로 알아보기

가정 ) A와 B가 협업을 하고 있습니다. A는 자신이 수정한 파일을 master를 통해 push했습니다.

B의 입장에서 merge하는 방법을 알아보겠습니다.

 

 

 

1. master에서 status를 확인합니다.

 

빨간색 modified는 B가 수정한 파일들입니다.

 

 

 

2. 새로운 branch를 생성하고 이동합니다.

 

board 브랜치 생성
board 브랜치로 이동

 

 

 

3. 브랜치에 수정한 내용을 add , commit 해둡니다.

 

add 한 뒤, commit 메시지 작성

 

 

 

4. master로 다시 빠져나갑니다.

 

 

 

 

5. pull을 받습니다. (이 때 A가 수정하여 push했던 파일들이 들어오게 됩니다.)

 

 

 

 

6. 아까 생성한 브랜치와 병합합니다. 수정한 부분이 같은 파일들만 CONFLICT가 발생했습니다.

 

CONFLICT가 발생하여 merge에 실패

 

 

 

7. 해당 파일을 알맞게 수정합니다.

 

충돌이 난 파일들이 빨간색 점으로 표시됩니다.

 

HEAD는 A가 수정한 파일의 내용이고, board는 B가 수정한 파일의 내용입니다.

각각의 파일들을 확인하여 위와 같은 해당 부분을 수정합니다.

 

 

 

8. 모두 수정하고 저장한 뒤 다시 status를 확인합니다.

 

이 때, master 이름 옆에 MERGING이라고 쓰여져 있어야 합니다.

 

 

 

9. add , commit 한 뒤 push하면 충돌 해결완료!

 

 

 

A도 새로운 브랜치에 commit해두고 B가 수정한 파일들을 pull을 받은 뒤,

같은 방법으로 merge 충돌을 해결하면 됩니다!

최근에 올라온 글
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Total
Today
Yesterday