Odpowiedzi:
Możliwe rozwiązanie z git config:
git config --global mergetool.keepBackup false
Po scaleniu oryginalny plik ze znacznikami konfliktu można zapisać jako plik z
.origrozszerzeniem.
Jeśli ta zmienna jest ustawiona na,falseten plik nie jest zachowywany.
Domyślnietrue(tzn. Przechowuj pliki kopii zapasowej).
Alternatywą jest brak dodawania lub ignorowania tych plików, jak sugerowano w tym artykule gitguru ,
git mergetoolzapisuje wersję pliku z konfliktem scalania z.origprzyrostkiem „ ”.
Pamiętaj, aby go usunąć przed dodaniem i zatwierdzeniem scalenia lub dodaniem*.origdo swojego.gitignore.
Berik sugeruje w komentarzach, aby użyć:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey radzi w swojej odpowiedzi, aby był świadomy wewnętrznych ustawień narzędzia różnicowego, które mogą również generować pliki kopii zapasowych, bez względu na ustawienia git.
.bakjak wspomniano w jego instrukcji ).Musisz więc zresetować również te ustawienia.
git config --global mergetool.keepBackup false, Rozwiązany dla P4Merge w Mavericks 10.9.2. Dzięki :)
keepBackup = falseunder [mergetool], a nie under [mergetool "BeyondCompare4"]lub innego skonfigurowanego wizualnego narzędzia do scalania.
Musisz być ostrożny z używaniem, kdiff3ponieważ podczas gdy git mergetoolmożna skonfigurować zapisywanie .origpliku podczas scalania, domyślnym zachowaniem kdiff3jest również zapisywanie .origpliku kopii zapasowej niezależnie od git mergetool.
Musisz upewnić się, że mergetoolkopia zapasowa jest wyłączona:
git config --global mergetool.keepBackup false
a także ustawienia kdiff3 są ustawione tak, aby nie tworzyć kopii zapasowej:
Configure/Options => Directory Merge => Backup Files (*.orig)
Configure/Options => Directory Merge => Backup Files (*.orig)naprawdę pomógł pozbyć się wszystkich dziwnych protokołów io-slave, klauncher «» i nie mógł stworzyć błędów .orig. dziękuję
git config --global mergetool.keepBackup falsetrzeba ustawić?
Opcję zapisania pliku .orig można wyłączyć, konfigurując KDiff3

Używam tego do czyszczenia wszystkich plików z rozszerzeniem „.orig”:
function git-clean-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" " | xargs rm -r
}
Jeśli jesteś przestraszonym kotem :) możesz zostawić ostatnią część wyłączoną, aby ją wymienić (lub zrezygnować, -rjeśli chcesz zatwierdzić każde usunięcie):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
Poza poprawnymi odpowiedziami oferowanymi jako rozwiązania długoterminowe, możesz użyć git, aby usunąć wszystkie niepotrzebne pliki raz dla ciebie za pomocą git clean -fpolecenia, ale użyj git clean --dry-runnajpierw, aby upewnić się, że nie wydarzy się nic niezamierzonego.
Ma to tę zaletę, że usuwa przetestowane wbudowane funkcje Git zamiast skryptów specyficznych dla systemu operacyjnego / powłoki.
Windows:
Win/Users/HOME/.gitconfigzestawie plikówmergetool.keepTemporaries=falsegit/libexec/git-core/git-mergetool, w funkcji cleanup_temp_files()dodaj rm -rf -- "$MERGED.orig"w bloku else.