[샤넬 프로젝트] GIT conflict 해결하기

hyuckhoon.ko·2020년 7월 1일
0

What I learned in wecode

목록 보기
63/109

상황 설명

로컬에서 개발한 패키지를 remote-repository에 push했다.

협업하고 있던 사람이 기존에 올려 현재 master로 있는 최종 패키지와
충돌이 일어났다.

충돌이 일어난 부분을 '내'가 해결해야 한다.
(단, 혼자 판단하고 수정하는 자세는 버려야 한다.)



1. 충돌 원인 파악

우선,
어떤 부분이 충돌이 일어났는지 내 로컬 환경에서 수정하고 확인해야한다.
깃허브 홈페이지에서 바로 수정할 수 있는 기능이 있지만,
그 방법은 사용하지 않는다.
수정한다고 해도 내 로컬에 있는 코드가 수정되지 않기 때문이다.


프로세스

1. 작업 중이던 브랜치에서 로컬 마스터로 이동한다.

$ git checkout master

2. remote-repo의 패키지를 받는다.

$ git pull origin master

3. 내 브랜치로 다시 이동한다.

내 브랜치 작업물과 remo에서 받은 패키지를 병합해야하기 때문이다.
$ git checkout feature/bag

ex) 나는 feature/bag 브랜치에서 작업중이었다.



4. 병합한다.

$ git merge origin


5. 이제 충돌이 난 부분을 확인한다.

모듈 import 부분부터, 변수이름 등까지 상이한 부분이 있을 수가 있다.
따라서, 독단적으로 진행하지 말고(협업이므로) 어떤 방향으로 나아가야 하는지 합의하고 수정한다.

0개의 댓글