Git

Intellij Git 충돌테스트

Seung__Yong 2023. 2. 28. 11:43

충돌원인

원본 파일인 Original
hotFix브랜치 생성 후 파일 수정
main브랜치로 이동 후 파일 수정

1. Main브랜치의 원본 파일은 original이다.

2. "사용자1" 이 hotFix브랜치를 생성해서 파일의 내용을 hotFix로 수정한다.

    -> 이 때 바로 main브랜치로 병합을 한다면 오류가 발생하지 않는다.(파일 수정)

    -> 다른 사용자는 이렇게 병합된 내용을 pull명령어로 당겨간 뒤 작업을 하면된다.

 

3. 그렇지 않고 "사용자2" 가 main브랜치 파일의 내용을 main으로 수정한다.

    -> 이 때 병합한다면 git 입장에서는 수정내용이 2개가 존재하는 것이기 때문에 둘 중 어느 내용을 선택해서 commit해야          할 지 판단을 하지 못한다.(두명의 사용자가 같은 파일 수정)

 

해결방법

git conflict

  •  HEAD가 가르키고 있는 브랜치의 내용은 // main이고 hotFix브랜치의 내용은 // hotFix이다.
  •  위 화면에서 Resolve를 선택하면 아래와 같은 UI가 제공된다.

main - original - hotFix

  • >> 버튼을 눌러 병합하거나 X를 눌러 변경사항을 폐기한다. 
  • 가운데 Result파일에 수정사항을 작성한다.

  • Apply를 통해 최종 파일을 push한다.