Git&Github

35. [Git] pull request 충돌해결하기(web editor)

drizzle0925 2021. 9. 5. 15:11
728x90

pull request를 이용하여 작업 중 충돌이 발생하면 어떻게 해결하는지 알아보겠습니다.

 

아래와 같은 master가 있습니다.

 

number-to-alphabet-3이라는 브랜치를 만들고 one을 1로 수정해서 pull request를 생성해 보겠습니다.

git checkout -b number-to-alphabet-3
work.txt의 one을 1로 수정
git commit -am "1"
git push -u origin number-to-alphabet-3

 

원격 저장소로 이동 > Compare & pull request 클릭합니다

 

Create pull request 클릭합니다

 

github는 pull request받은 브랜치와 병합할 브랜치와 비교 후 병합에 문제가 없는 경우에만 Merge pull request 버튼을 활성화시킵니다.

 

이번에는 master 브랜치를 일로 변경해서 충돌을 일으켜 보겠습니다.

number-to-alphabet-3의 base의 내용은 one 이였는데 이것을 일이라고 변경해서 충돌을 일으키는 것입니다.

git checkout master
work.txt의 one을 일로 변경
git commit -am "일"
git push

 

다시 github로 돌아와 보면 충돌이 발생하여 Merge pull request를 할 수 없게 됩니다.

이런 경우 web editor를 통해 해결하거나 command line을 통해서 충돌을 해야 된다고 나와 있습니다

 

web editor를 클릭해서 해결해 보겠습니다.

web editor를 클릭합니다.

 

그럼 아래와 같은 화면이 표시됩니다.

 

충돌 내용을 수정하고 mask as resolve를 클릭합니다.

 

충돌이 잘 해결되었다면 파일 이름 옆에 초록색으로 표시됩니다.

모든 충돌을 해결했다면 commit merge를 클릭합니다.

 

충돌이 잘 해결되면 Merge pull request 버튼이 다시 활성화됩니다.

 

수정된 내용을 확인해보겠습니다.

git checkout number-to-alphabet-3
git pull

 

모든 작업이 완료되면 Merge pull request를 통해 해당 브랜치 내용을 master 브랜치에 적용하면 됩니다. 

728x90