developer tip

Git 병합 충돌에 대한 "3 방향 차이"를 어떻게 볼 수 있습니까?

copycodes 2020. 12. 30. 08:19
반응형

Git 병합 충돌에 대한 "3 방향 차이"를 어떻게 볼 수 있습니까?


나는 힘내 지점에있어 가정 master및 I git merge featurebranch. 에 충돌이 foo.html있습니다.

를 열면 foo.html갈등 영역에서 무엇이 master있고 무엇이 있는지 featurebranch를 봅니다. 그러나 나는 충돌 어떤 변화있었 는지 정말로 말할 수 없다 . 나는 지금 마스터가 무엇을 가지고 있는지 알고 있습니다 .masterfeaturebranch

각각 적용한 차이점 을보고 싶습니다 .

또는 동일한 정보를 얻기 위해 다음을 볼 수 있습니다.

  • 버전 master은 이제
  • 버전 featurebranch은 이제
  • 공통 조상 이 가졌던 버전

어떻게 볼 수 있습니까?


에서 (1) 자식 병합 ,

"merge.conflictstyle"구성 변수를 "diff3"로 설정하여 대체 스타일을 사용할 수 있습니다.

받는 또 <<<<<<<, =======>>>>>>>마커는 다른 사용 |||||||일본어 텍스트 뒤에 마커. 원본이 방금 사실을 진술했고, 당신 측은 그 진술에 단순히 포기하고 포기한 반면, 다른 측은 더 긍정적 인 태도를 취하려했다는 것을 알 수 있습니다. 원본을 보면 더 나은 해상도를 얻을 수 있습니다.

다음을 사용하여 활성화 할 수 있습니다.

$ git config --global merge.conflictstyle diff3

많은 GUI diff / merge 도구에는 3 방향 또는 4 방향 병합보기가 있습니다. 병합 충돌을 해결하려면 Beyond Compare적극 권장 합니다. 또 다른 (괜찮은) 도구는 DiffMerge 입니다.

git mergetool명령 과 함께 사용할 사용자 정의 mergetool을 설정할 수 있습니다 . 이것은 .gitconfigmsysgit을 사용하여 Windows 컴퓨터에서 Beyond Compare (Pro 에디션) 및 DiffMerge에 대한 구성입니다.

[merge]
    tool = bc3
[diff]
    tool = bc3
[difftool "dm"]
    cmd = C:/Program\\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"$LOCAL\" \"$REMOTE\"
[difftool "bc3"]
    cmd = "\"c:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\""
[mergetool "bc3"]
    cmd = "\"c:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""

.NET 용 공식 Linux 커널 Git 문서git config 에서 다양한 diff / merge 도구 구성에 대해 자세히 알아볼 수 있습니다 .

참조 URL : https://stackoverflow.com/questions/18131515/how-can-i-see-a-three-way-diff-for-a-git-merge-conflict

반응형