2015-01-12 14 views

Trả lời

14

vimdiff2 được giới thiệu vào commit 0008669 (tháng 9 năm 2010, cho git 1.7.4)

Đó là like vimdiff, nhưng với các tùy chọn kết hợp khác nhau (như nhận xét trong commit b2a6b71, git 1.8.2: "vimdiff và vimdiff2 chỉ khác nhau bởi lệnh hợp nhất của họ ").

Nó (vimdiff2) buộc một merge 2 chiều, so với vimdiff mà sẽ sử dụng một 3-way merge nếu cơ sở (tổ tiên chung) được phát hiện:

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" 
    ;; 

Lưu ý rằng commit 7c147b7 (tháng 4 năm 2014, cho Git 2.1.0 tháng 8 năm 2014) cũng giới thiệu vimdiff3:

Tương tự như mặc định, ngoại trừ các cửa sổ khác bị ẩn.
Điều này đảm bảo rằng màu đã xóa/thêm vẫn hiển thị trên cửa sổ hợp nhất chính, nhưng các cửa sổ khác không hiển thị.

Đặc biệt hữu ích với merge.conflictstyle=diff3.

+0

gì bạn muốn giới thiệu để giải quyết xung đột nhập? "Thật không may Vim đấu tranh một chút với sự khác biệt ba chiều, cả hai đều làm nổi bật sự khác biệt và xáo trộn những thay đổi cá nhân giữa ba cửa sổ." Nguồn: http://vim.wikia.com/wiki/A_better_Vimdiff_Git_mergetool – nomadStack

+0

@nomadStack thực sự. Tôi thích sử dụng kdiff3. – VonC

Các vấn đề liên quan