이번에는 두사람이 동시에 같은 파일을 작업하여 push 한 경우를 살펴보도록 하겠습니다.
HomeController 메서드를 동시에 작업했다고 가정하겠습니다.
userA는 branch를 만들고 help 메서드를 추가하고 commit, push를 합니다.

Github에서 PR을 작성합니다.
현재까지는 충돌될 상황이 아니기 때문에 정상적으로 merge 됩니다.

merge도 진행합니다.

userB도 branch를 만들고 contact 메서드를 추가하고 commit, push를 합니다.

userB도 Github에서 PR을 작성합니다.
두 사람이 동시에 같은 파일을 작업했기 때문에 PR이 정상적으로 수행되지 않고 충돌을 해결하라는 메시지가 보입니다.

이렇게 충돌이 발생하면 팀원은 알아서 해결하기 보다는 팀장에게 알려 수습을 할 수 있도록 하는 것이 좋습니다.
팀장은 Github의 PR 탭을 클릭하여 해당 충돌 페이지로 진입합니다.
Resolve conflicts를 클릭해봅니다. 충돌이 발생한 부분을 <<<< ===== >>>> 로 보여주고 있습니다.
해당 기호를 지우고 충돌 코드 등을 해결하기 위해 현재 페이지에서 작업을 진행합니다.
우측 상단의 Mark as resolved 버튼이 완료 버튼인데 현재는 수정을 하지 않았기 때문에 비활성화 되어 있습니다.

코드를 수정하고 <<<< ===== >>>>를 모두 지우면 Mark as resolved 버튼이 활성화됩니다.

이제 merge를 수행할 수 있습니다. 아래 화면에서 Commit merge를 클릭합니다.

그러면 정상적으로 PR을 수행했을 때의 화면으로 나옵니다. 아래와 같은 화면에서 merge를 수행합니다.

정상적으로 merge가 되었습니다.

로컬에서 main branch를 update해보면 HomeController가 정상적으로 작성된 것을 확인할 수 있습니다.

이상으로 Git으로 팀프로젝트를 진행할 때 활용하면 좋을 내용에 대해 소개해드렸습니다.
팀프로젝트에서 git을 사용할 때는 워낙 변수가 많아서 모두 다룰 수는 없지만 각자 필요한 절차만 잘 지켜서 진행한다면 최소한의 문제로 즐거운 코딩이 되지 않을까 생각합니다.
감사합니다^^
'Git' 카테고리의 다른 글
| git 초기 세팅 및 commit, push 하기 (0) | 2023.11.29 |
|---|---|
| Git 협업할 때 계속 로그인을 요구하는 경우 (0) | 2023.10.20 |
| Github Organization 으로 팀프로젝트 진행하기 4 - 두 명 동시 작업 (0) | 2023.10.16 |
| Github Organization 으로 팀프로젝트 진행하기 3 - branch, push, pull, pull request 활용하기 (0) | 2023.10.13 |
| Github Organization 으로 팀프로젝트 진행하기 2 - repository 생성하고 clone하기 (0) | 2023.10.13 |