Git Conflict 해결 방법

📄 merge conflict

merge를 하는 과정에서 자동적으로 해결이 안되는 충돌이 발생한 상황을 말합니다.
예를 들어, 서로 다른 브랜치에서 동일한 파일을 수정했을 때 충돌이 발생할 수 있습니다.

아래와 같이 merge conflict가 발생한 것을 확인 할 수 있습니다.

conflict

Automatic merge failed: 자동 merge가 실패 됨.

git status를 입력해 확인해 보면 동시에 수정된 파일을 확인할 수 있습니다.

conflict2

cat (파일명)을 입력하면 conflict가 발생한 부분을 알려주기 위해 자동으로 삽입된 문자열을 확인할 수 있습니다.

conflic3

📄 merge conflict 수동적 해결방법

  1. open 해당 파일 (윈도우: start 해당파일)명령어를 이용하여 conflict가 발생한 파일을 열어줍니다.
    conflict4

  2. 사용할 부분을 제외하고 삭제하거나, 모두 다 사용하고 싶다면 메세지만 삭제 한채 저장한 뒤 파일을 닫습니다.

  3. git add를 이용해 conflict가 해결되었음을 알려줍니다.
    conflict5

  4. git merge --continue를 입력해 merge를 마무리합니다. conflict6

📄 merge conflict tool을 이용한 해결방법: vscode

  1. git config --global -e를 입력해서 vscode를 열어줍니다.

  2. 아래 코드를 입력해서 merge tool을 vscode로 다룰 수 있게 적용합니다.
    tool2

  3. conlict가 발생했을 때, git mergetool을 입력하면 vscode로 툴이 열리는 것을 확인 할 수 있습니다.

📄 merge conflict tool을 이용한 해결방법: p4merge

  1. p4merge를 검색 후 다운받습니다.

  2. 아래 코드를 입력해서 merge tool을 p4code로 다룰 수 있게 합니다.
    tool3

  3. conlict가 발생했을 때, git mergetool을 입력하면 vscode로 툴이 열리는 것을 확인 할 수 있습니다.

참고

  • 드림코딩

Leave a comment