2012-12-26 7 views
13

Wir werden hier bei der Arbeit für ein Projekt installiert und ich spiele mit einem anderen Kollegen herum.git .BACKUP .BASE .LOCAL .REMOTE Dateien

Ich habe einige choreographierte Zusammenführungskonflikte gelöst, aber ich bin am Ende mit einer Reihe von zusätzlichen Dateien, die ich nicht will. Sie sind .BACKUP .BASE-, .LOCAL- und .REMOTE-Dateien. Basierend auf diesen Namen scheinen sie von der Auflösung meiner Merges zu stammen. Einige genaue Dateinamen ich bin immer sind:

  • index.shtml.BACKUP.16908.shtml
  • index.shtml.BASE.16908.shtml
  • index.shtml.LOCAL.16908.shtml
  • index.shtml.REMOTE.16908.shtml
  • ich habe auch einen anderen Satz der Dateien oben, aber

Ist es möglich, diese Dateien nicht speichern in 0,21384, unter der Annahme von einem anderen merge Versuch zu beenden? Wie Sie sich vorstellen können, ist es jetzt etwas nervig, 9 Versionen von index.shtml zu haben. Ich benutze Git eingebautes Merge-Tool, tortoisemerge.

Ich lief in etwas ähnliches, indem ich git log laufen ließ, offenbar schuf es eine "df" Datei. Das war einfach genug, um es einfach in eine .gitignore-Datei aufzunehmen. Ich möchte jedoch nicht nur Dateien wie oben im Projekt sammeln.

+2

Dies ist wahrscheinlich etwas spezifisch für tortoisemerge. Tortoisemerge ist * nicht * Teil der Standard-Git-Distribution. –

+0

Also git muss erkannt haben, dass ich Schildkröte installiert und tortoisemerge als Option enthalten, wenn ich git mergetool laufen lasse? –

Antwort

2

In Tortoise, gehen Sie zur Einstellung und deaktivieren Sie "Backup Original-Datei" (einmalige Operation) Das nächste Mal, wenn Sie es öffnen, können Sie eine regelmäßige Zusammenführung tun, Tortoise erstellen .base, .backup, .local, .remote, Wenn Sie die Zusammenführung speichern, entfernt Tortoise diese Dateien automatisch.

+0

Beachten Sie, dass dies nur für Schildkröte und nicht für Git im Allgemeinen gilt. – Jeremy

7

Wie die andere Antwort erwähnt, scheinen diese Dateien von Git-Merge-Tool bei der Konfliktlösung erstellt zu werden. Die Standard-Git-Einstellungen lassen diese zusätzlichen Dateien zurück, auch nachdem der Konflikt gelöst wurde, aber die aktuellen Versionen von Git erlauben es Ihnen, config variable so einzustellen, dass Git diese temporären Dateien nach Beendigung der Zusammenführung immer löscht.

Sie können dies mit dem Befehl in Git Bash tun ...

git config --global mergetool.keepBackup false 

Das --global Argument ist optional, natürlich, und steuert, ob diese Einstellung an diesem Benutzer lokal ist (global) oder das aktuelle Repository .

Weitere Informationen here. Scrollen Sie nach unten zum Abschnitt VORÜBERGEHENDE DATEIEN unten.


Hinweis: Ich hatte eine ähnliche Frage und endete hier. Obwohl die aktuelle Antwort mich schließlich zu der richtigen Lösung geführt hat, hatte ich nicht das Gefühl, dass sie die Frage beantwortet und eine aktualisierte Antwort in Ordnung war.