Ketika saya melakukan resolusi konflik gabungan dengan Kdiff3 (dan alat menggabungkan lainnya saya mencoba) saya perhatikan bahwa pada resolusi *.orig
file dibuat. Apakah ada cara untuk tidak membuat file tambahan itu?
sumber
Ketika saya melakukan resolusi konflik gabungan dengan Kdiff3 (dan alat menggabungkan lainnya saya mencoba) saya perhatikan bahwa pada resolusi *.orig
file dibuat. Apakah ada cara untuk tidak membuat file tambahan itu?
Solusi yang mungkin dari git config
:
git config --global mergetool.keepBackup false
Setelah melakukan penggabungan, file asli dengan penanda konflik dapat disimpan sebagai file dengan
.orig
ekstensi.
Jika variabel ini diatur kefalse
maka file ini tidak disimpan.
Default ketrue
(yaitu menyimpan file cadangan).
Alternatifnya adalah tidak menambah atau mengabaikan file-file itu, seperti yang disarankan dalam artikel gitguru ini ,
git mergetool
menyimpan versi gabungan-konflik dari file dengan.orig
akhiran " ".
Pastikan untuk menghapusnya sebelum menambahkan dan melakukan penggabungan atau menambahkan*.orig
ke Anda.gitignore
.
Berik menyarankan dalam komentar untuk menggunakan:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey menyarankan dalam jawabannya untuk mewaspadai pengaturan internal alat berbeda yang juga dapat menghasilkan file cadangan tersebut, tidak peduli apa pengaturan git.
.bak
seperti yang disebutkan dalam manualnya ).Jadi, Anda perlu mengatur ulang pengaturan itu juga.
git config --global mergetool.keepBackup false
, Diselesaikan untuk P4Merge pada Mavericks 10.9.2. Terima kasih :)keepBackup = false
bawah[mergetool]
, bukan bagian bawah[mergetool "BeyondCompare4"]
atau alat penggabungan visual apa pun yang telah Anda konfigurasikan.Anda harus sedikit berhati-hati dengan menggunakan
kdiff3
karena sementaragit mergetool
dapat dikonfigurasi untuk menyimpan.orig
file selama penggabungan, perilaku default untukkdiff3
adalah juga menyimpan.orig
file cadangan secara terpisahgit mergetool
.Anda harus memastikan
mergetool
cadangan tidak aktif:dan juga bahwa pengaturan kdiff3 diatur untuk tidak membuat cadangan:
sumber
Configure/Options => Directory Merge => Backup Files (*.orig)
benar-benar membantu menyingkirkan semua io-slave, protokol yang tidak dikenal «aneh», dan tidak bisa membuat kesalahan .orig. terima kasihgit config --global mergetool.keepBackup false
harus diatur?Agar jelas, perintah git yang benar adalah:
Kedua jawaban lainnya memiliki kesalahan ketik pada baris perintah yang akan menyebabkannya gagal atau tidak berfungsi dengan benar.
sumber
Opsi untuk menyimpan file .orig dapat dinonaktifkan dengan mengkonfigurasi KDiff3
sumber
Saya menggunakan ini untuk membersihkan semua file yang diakhiri dengan ".orig":
Jika Anda adalah kucing yang ketakutan :) Anda bisa membiarkan bagian terakhir hanya untuk daftar mereka (atau tinggalkan
-r
jika Anda ingin menyetujui setiap penghapusan):sumber
Saya hanya menggunakan perintah
periksa untuk memastikan hanya file yang ingin saya hapus yang terdaftar
sumber
Selain jawaban yang benar yang ditawarkan sebagai solusi jangka panjang, Anda dapat menggunakan git untuk menghapus semua file yang tidak perlu satu kali untuk Anda dengan
git clean -f
perintah tersebut tetapi gunakangit clean --dry-run
terlebih dahulu untuk memastikan tidak ada yang tidak diinginkan akan terjadi.Ini memiliki manfaat menggunakan fungsionalitas built-in Git yang teruji atas skrip khusus untuk OS / shell Anda untuk menghapus file.
sumber
Atau tambahkan saja
* .orig
ke gitignore global Anda
sumber
Ini harus bekerja untuk Beyond Compare (sebagai mergetool) juga
sumber
Windows:
Win/Users/HOME/.gitconfig
Kumpulan filemergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, dalam fungsicleanup_temp_files()
tambahrm -rf -- "$MERGED.orig"
dalam blok lain.sumber