Antworten:
Eine mögliche Lösung von git config
:
git config --global mergetool.keepBackup false
Nach dem Zusammenführen kann die Originaldatei mit Konfliktmarkierungen als Datei mit einer
.orig
Erweiterung gespeichert werden .
Wenn diese Variable auf gesetztfalse
ist, bleibt diese Datei nicht erhalten.
Der Standardwert isttrue
(dh die Sicherungsdateien behalten).
Die Alternative besteht darin, diese Dateien nicht hinzuzufügen oder zu ignorieren, wie in diesem Gitguru-Artikel vorgeschlagen .
git mergetool
Speichert die Merge-Konflikt-Version der Datei mit dem.orig
Suffix " ".
Stellen Sie sicher, dass Sie es löschen, bevor Sie die Zusammenführung hinzufügen und festschreiben oder*.orig
zu Ihrer hinzufügen.gitignore
.
Berik schlägt in den Kommentaren vor , Folgendes zu verwenden:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey rät in seiner Antwort , die internen Einstellungen des Diff-Tools zu kennen, die auch diese Sicherungsdateien generieren können, unabhängig von den Git-Einstellungen.
.bak
, wie im Handbuch erwähnt ).Sie müssen also auch diese Einstellungen zurücksetzen.
git config --global mergetool.keepBackup false
, Gelöst für P4Merge auf Mavericks 10.9.2. Danke :)
keepBackup = false
under [mergetool]
, nicht under [mergetool "BeyondCompare4"]
oder das von Ihnen konfigurierte Tool zum visuellen Zusammenführen verwenden möchten .
Sie müssen ein wenig vorsichtig mit der Verwendung sein, kdiff3
da while git mergetool
so konfiguriert werden kann, dass eine .orig
Datei während des Zusammenführens gespeichert wird. Das Standardverhalten für kdiff3
besteht darin, auch eine .orig
Sicherungsdatei unabhängig davon zu speichern git mergetool
.
Sie müssen sicherstellen, dass die mergetool
Sicherung deaktiviert ist:
git config --global mergetool.keepBackup false
und auch, dass die Einstellungen von kdiff3 so eingestellt sind, dass kein Backup erstellt wird:
Configure/Options => Directory Merge => Backup Files (*.orig)
Configure/Options => Directory Merge => Backup Files (*.orig)
hat wirklich geholfen, all den seltsamen io-Slave, klauncher «» unbekanntes Protokoll loszuwerden, und konnte keine .orig-Fehler erzeugen. Vielen Dank
git config --global mergetool.keepBackup false
eingestellt werden?
Die Option zum Speichern der .orig-Datei kann durch Konfigurieren von KDiff3 deaktiviert werden
Ich verwende dies, um alle Dateien zu bereinigen, die auf ".orig" enden:
function git-clean-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" " | xargs rm -r
}
Wenn Sie eine Angstkatze sind :) Sie können den letzten Teil weglassen, um sie aufzulisten (oder weglassen, -r
wenn Sie jeden Löschvorgang genehmigen möchten):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
Ich benutze einfach den Befehl
git clean -n *.orig
Stellen Sie sicher, dass nur die Dateien aufgelistet sind, die ich entfernen möchte
git clean -f *.orig
Neben den richtigen Antworten, die als langfristige Lösungen angeboten werden, können Sie mit git alle unnötigen Dateien einmal mit dem git clean -f
Befehl entfernen, aber git clean --dry-run
zuerst verwenden, um sicherzustellen, dass nichts Unbeabsichtigtes passiert.
Dies hat den Vorteil, dass die getestete integrierte Funktionalität von Git über Skripts verwendet wird, die für Ihr Betriebssystem / Ihre Shell spezifisch sind, um die Dateien zu entfernen.
Windows:
Win/Users/HOME/.gitconfig
Setmergetool.keepTemporaries=false
git/libexec/git-core/git-mergetool
in der Funktion innerhalb des else-Blocks cleanup_temp_files()
hinzufügen rm -rf -- "$MERGED.orig"
.