Sự khác nhau giữa chúng là gì? Kết quả của công cụ tìm kiếm của tôi chỉ nói về vimdiff, nhưng lệnhSự khác nhau giữa vimdiff và vimdiff2 trong git là gì?
git mergetool
cung cấp cho tôi cả hai.
Sự khác nhau giữa chúng là gì? Kết quả của công cụ tìm kiếm của tôi chỉ nói về vimdiff, nhưng lệnhSự khác nhau giữa vimdiff và vimdiff2 trong git là gì?
git mergetool
cung cấp cho tôi cả hai.
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
.
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
@nomadStack thực sự. Tôi thích sử dụng kdiff3. – VonC