[Git] Conflict 해결하는 방법

장운서·2021년 7월 17일
0

git

목록 보기
1/1
post-thumbnail

git Conflict 해결 방법

Git Conflict 란?

Git은 여러명이 동시에 코드를 수정할수 있는 분산서버관리시스템이다.
즉 아무리 git과 branch를 잘 나눠놨다고 해도 서로 겹치는 부분을 수정하고 add -> commit -> push -> merge 하게되면 충돌이 일어나게 된다. 그러나 파일이 같아도 수정한 부분이 다르다면 자동으로 합쳐지게 된다. 하지만 만약에 수정한 부분이 같거나 충돌이 일어나게 된다면 conflict를 어떻게 해결해야 할까

  1. 내 local mian branch를 이용해서 merge 후 pull request
  • remote main 최신 상태를 local main으로 pull 받는다 ( git pull origin main )

  • 작업 브랜치에서 local master을 merge 시킨다

  • master와 작업 브랜치가 똑같은 파일을 고치면 conflict이 나고, 해당 파일을 수정한다

  • 해결해서 만들어진 merge commit을 push ( merge commit 이 새로 생성 )

  • 장점 : 한번의 merge로 해결

  • 단점 : merge commit이 생겨 깔끔하지 않음 > 수정한 의미있는 커밋만 존재하는게 깔끔

    $ git pull origin master
    $ git merge --continue
    $ git push origin 작업 브랜치

  1. psuh후 직접 conflict난 부분을 하나씩 해결
  • push를 하고 난 후 github 를 살펴보게되면 conflict가 나게된다. git status 에서 살펴보게된다면 충돌이 나면서 vscode에서 직접 수정하기 전 부분과 수정한 다음의 부분을 코드에서 둘다 보여주게 된다.

  • 충돌이 난 두가지의 부분을 본인이 직접 하나씩 체크해가면서 해결 후 add -> commit -> push -> merge 후 깃에 실제로 올리면 된다.

앞으로 더 많은 충돌이 일어나게 될텐데 항상 작업한 부분을 merge했다면 그전에 먼저 pull 하고 작업을 하는 순서가 바람직할것 같다.

profile
방향성을 찾고싶은 프론트엔드개발자

0개의 댓글