Câu trả lời:
Một giải pháp khả thi từ git config
:
git config --global mergetool.keepBackup false
Sau khi thực hiện hợp nhất, tệp gốc có dấu xung đột có thể được lưu dưới dạng tệp có
.orig
phần mở rộng.
Nếu biến này được đặt thànhfalse
thì tệp này không được bảo tồn.
Mặc địnhtrue
là (tức là giữ các tệp sao lưu).
Thay thế là không thêm hoặc bỏ qua các tệp đó, như được đề xuất trong bài viết gitguru này ,
git mergetool
lưu phiên bản hợp nhất xung đột của tệp với.orig
hậu tố ở quy mô.
Hãy chắc chắn xóa nó trước khi thêm và cam kết hợp nhất hoặc thêm*.orig
vào của bạn.gitignore
.
Berik gợi ý trong các ý kiến để sử dụng:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey khuyên trong câu trả lời của mình nên biết về các cài đặt công cụ tìm khác biệt bên trong cũng có thể tạo ra các tệp sao lưu đó, bất kể cài đặt git là gì.
.bak
, như được đề cập trong hướng dẫn sử dụng ).Vì vậy, bạn cần phải thiết lập lại các cài đặt là tốt.
git config --global mergetool.keepBackup false
, Đã giải quyết cho P4Merge trên Mavericks 10.9.2. Cảm ơn :)
keepBackup = false
dưới [mergetool]
, không phải bên dưới [mergetool "BeyondCompare4"]
hoặc bất kỳ công cụ hợp nhất trực quan nào bạn đã định cấu hình.
Bạn phải cẩn thận một chút với việc sử dụng kdiff3
vì git mergetool
có thể được cấu hình để lưu .orig
tệp trong khi hợp nhất, hành vi mặc định kdiff3
là cũng .orig
lưu tệp sao lưu độc lập vớigit mergetool
.
Bạn phải chắc chắn rằng mergetool
sao lưu đã tắt:
git config --global mergetool.keepBackup false
và cũng là cài đặt của kdiff3 được đặt thành không tạo bản sao lưu:
Configure/Options => Directory Merge => Backup Files (*.orig)
Configure/Options => Directory Merge => Backup Files (*.orig)
thực sự đã giúp loại bỏ tất cả các io-nô lệ lạ, klauncher «» giao thức không xác định và không thể tạo ra các lỗi .orig. cảm ơn bạn
git config --global mergetool.keepBackup false
phải đặt?
Tùy chọn lưu tệp .orig có thể bị vô hiệu hóa bằng cách định cấu hình KDiff3
Tôi sử dụng điều này để dọn sạch tất cả các tệp kết thúc bằng ".orig":
function git-clean-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" " | xargs rm -r
}
Nếu bạn là một con mèo đáng sợ :) bạn có thể bỏ phần cuối cùng chỉ để liệt kê chúng (hoặc bỏ qua -r
nếu bạn muốn phê duyệt mỗi lần xóa):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
Bên cạnh các câu trả lời đúng được cung cấp dưới dạng giải pháp dài hạn, bạn có thể sử dụng git để xóa tất cả các tệp không cần thiết một lần cho bạn bằng git clean -f
lệnh nhưng sử dụnggit clean --dry-run
trước để đảm bảo không có gì ngoài ý muốn xảy ra.
Điều này có lợi ích của việc sử dụng chức năng được tích hợp sẵn của Git qua các tập lệnh cụ thể cho HĐH / shell của bạn để xóa các tệp.
Các cửa sổ:
Win/Users/HOME/.gitconfig
bộmergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, trong hàm cleanup_temp_files()
thêm vào rm -rf -- "$MERGED.orig"
trong khối khác.