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
.orig
rozszerzeniem.
Jeśli ta zmienna jest ustawiona na,false
ten 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 mergetool
zapisuje wersję pliku z konfliktem scalania z.orig
przyrostkiem „ ”.
Pamiętaj, aby go usunąć przed dodaniem i zatwierdzeniem scalenia lub dodaniem*.orig
do 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.
.bak
jak 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 = false
under [mergetool]
, a nie under [mergetool "BeyondCompare4"]
lub innego skonfigurowanego wizualnego narzędzia do scalania.
Musisz być ostrożny z używaniem, kdiff3
ponieważ podczas gdy git mergetool
można skonfigurować zapisywanie .orig
pliku podczas scalania, domyślnym zachowaniem kdiff3
jest również zapisywanie .orig
pliku kopii zapasowej niezależnie od git mergetool
.
Musisz upewnić się, że mergetool
kopia 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 false
trzeba 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ć, -r
jeś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 -f
polecenia, ale użyj git clean --dry-run
najpierw, 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/.gitconfig
zestawie plikówmergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
, w funkcji cleanup_temp_files()
dodaj rm -rf -- "$MERGED.orig"
w bloku else.