Wenn ich eine Merge-Konfliktlösung mit Kdiff3 (und anderen Merge-Tools, die ich ausprobiert habe) durchführe, stelle ich fest, dass bei der Auflösung ein *.orig
Datei erstellt wird. Gibt es eine Möglichkeit, diese zusätzliche Datei nicht zu erstellen?
Antworten
Zu viele Anzeigen?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.
Wenn diese Variable auffalse
dann bleibt diese Datei nicht erhalten.
Standardmäßig wirdtrue
(d.h. die Sicherungsdateien behalten).
Die Alternative wäre, diese Dateien nicht hinzuzufügen oder zu ignorieren, wie in diesem Artikel vorgeschlagen Gitguru-Artikel ,
git mergetool
speichert die konfliktbehaftete Version der Datei mit einem ".orig
Suffix ".
Stellen Sie sicher, dass Sie es vor dem Hinzufügen und Bestätigen der Zusammenführung löschen oder hinzufügen*.orig
zu Ihrem.gitignore
.
Berik schlägt vor in den Kommentaren zu verwenden:
find . -name \*.orig
find . -name \*.orig -delete
Charles Bailey berät in seine Antwort zu beachten Interne Diff-Werkzeugeinstellungen die auch diese Sicherungsdateien erzeugen kann, unabhängig von den Git-Einstellungen.
- kdiff3 hat seine eigenen Einstellungen (siehe " Verzeichnis zusammenführen " in seinem Handbuch).
- andere Tools wie WinMerge können ihre eigene Backup-Dateierweiterung haben (WinMerge:
.bak
wie erwähnt in sein Handbuch ).
Sie müssen also auch diese Einstellungen zurücksetzen.
Sie müssen ein wenig vorsichtig sein bei der Verwendung von kdiff3
als während git mergetool
kann so konfiguriert werden, dass ein .orig
Datei während des Zusammenführens, das Standardverhalten für kdiff3
ist auch die Speicherung eines .orig
Sicherungsdatei unabhängig von git mergetool
.
Sie müssen dafür sorgen, dass mergetool
Die Sicherung ist ausgeschaltet:
git config --global mergetool.keepBackup false
und auch, dass die Einstellungen von kdiff3 so eingestellt sind, dass keine Sicherungskopie erstellt wird:
Configure/Options => Directory Merge => Backup Files (*.orig)
Ich verwende diese Funktion, 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 ein Angsthase sind :), können Sie den letzten Teil weglassen, um sie aufzulisten (oder Sie lassen das -r
wenn Sie jede Löschung genehmigen wollen):
function git-show-orig {
git status -su | grep -e"\.orig$" | cut -f2 -d" "
}
- See previous answers
- Weitere Antworten anzeigen