2015-01-12 12 views

답변

14

vimdiff2은 (자식 1.7.4를 들어, 2010년 9월) commit 0008669에 도입 된

그것은하지만 commit b2a6b71에 주석으로 다른 병합 옵션 (자식 1.8.2과, like vimdiff입니다 : "vimdiff 및 vimdiff2 만 차이 병합 명령 ").

그것 (vimdiff2)는베이스 (공통 조상)가 감지 될 경우 3-way merge를 사용합니다 vimdiff 대 2 웨이 병합, 강제 :

gvimdiff|vimdiff) 
    if $base_present 
    then 
     "$merge_tool_path" -f -d -c 'wincmd J' \ 
      "$MERGED" "$LOCAL" "$BASE" "$REMOTE" 
    else 
     "$merge_tool_path" -f -d -c 'wincmd l' \ 
      "$LOCAL" "$MERGED" "$REMOTE" 
    fi 
    ;; 
gvimdiff2|vimdiff2) 
    "$merge_tool_path" -f -d -c 'wincmd l' \ 
     "$LOCAL" "$MERGED" "$REMOTE" 
    ;; 

참고 commit 7c147b7 (4 월 2014 힘내에 대한 2014 년 8 월 2.1.0)은 실제로 vimdiff3을 소개합니다.

다른 창은 숨겨져 있다는 점을 제외하고는 기본값과 유사합니다.
제거/추가 된 색이 여전히 주 병합 창에 표시되지만 다른 창은 표시되지 않습니다.

merge.conflictstyle=diff3과 함께 특히 유용합니다.

+0

병합 충돌을 해결하려면 무엇을 권하고 싶습니까? "불행히도 Vim은 차이점을 강조하고 세 창 사이의 개별 변경 사항을 섞은 상태에서 3 방향 diff로 약간 어려움을 겪고 있습니다." 출처 : http://vim.wikia.com/wiki/A_better_Vimdiff_Git_mergetool – nomadStack

+0

@nomadStack 참으로. 나는 kdiff3을 사용하는 것을 선호한다. – VonC