깃허브의 같은 브랜치에서 팀원이 먼저 푸시를 했다면
깃허브의 같은 브랜치에서 팀원이 먼저 푸시를 했다면
처음으로 직접 팀원들과 함께 깃허브 프로젝트를 하다보면 병합 충돌이 일어나면서 당황하게 됩니다
저도 오늘 프로젝트를 해보며 어떻게 해결해야하는지 난감하기도 했구요
이 부분을 자세히 알아보고 해결할 수 있도록 알아봅시다
1. 작업 순서
1
2
3
4
5
6
7
8
9
10
11
12
# 클론 또는 이전 푸시가 끝나고 다른 branch를 생성한 뒤 새로운 기능을 만들 때
# 1. 프로젝트 최신화
$ git switch main # main branch 사용
$ git pull # pull 명령어로 최신화
$ git switch <브랜치명> # 프로젝트의 한 쪽 파트를 담당할 브랜치로 교체 후 작업 시작
# 만약 브랜치가 없으면 git branch <브랜치명>으로 생성
# 2. 최신화를 한 뒤에 개인 작업을 하고 다시 커밋을 할 경우
$ git add .
$ git commit -m " "
$ git push
2. 만약 팀원이 새로운 푸시를 먼저 했었다면
rebase
방식은 기존의 원격 커밋 버전을 모두 가져오고, 이후 로컬 버전 커밋을 이어서 추가하는 방식입니다
같은 브랜치에서 서로 다른 인원이 같은 파일을 수정한 경우입니다
1
2
3
4
5
$ git pull --rebase <브랜치명>
# 충돌 해결 후
$ git rebase --continue
이후 로그를 살펴보거나 VSCoded의 소스 제어를 확인해보면 어떤 곳에서 충돌이 발생하는지 확인할 수 있습니다
차이를 확인했다면 팀원이 푸시했던 내용과 비교하며 코드를 수동으로 해결한 뒤 git rebase --continue
를 해줍니다
1
2
$ git add <수정된 파일>
$ git status
이러한 충돌을 해결했다는 커밋을 추가해주고 <브랜치명>
에 push
를 해주면 끝입니다
This post is licensed under CC BY 4.0 by the author.