Rückgängigmachen eines Commits in TortoiseSVN


99

Ich habe versehentlich eine Reihe von Dateien (Dutzende von Dateien in verschiedenen Ordnern) festgeschrieben. Was ist der einfachste, sauberste (und sicherste!) Weg, um dieses Commit rückgängig zu machen, ohne die Dateien aus meinem Arbeitsverzeichnis löschen zu müssen?

Antworten:


151

Zum Show Log - Bildschirm, wählen Sie die Änderung , die Sie rückgängig machen möchten, direkt darauf klicken , und wählen Sie Revert aus dieser Revision ändert , wird dies tun , ein Reverse-merge .


8
Das war, was ich erwartet hatte, aber kein Zeichen in der neuesten Schildkrötenveröffentlichung
Anthony Main

39
Vergessen Sie nicht, sich danach zu verpflichten, da es nur lokal zusammengeführt wird.
pihentagy

5
Stellen Sie sicher, dass Sie Ihre Arbeitskopie aktualisieren, bevor Sie dies tun, da sonst nichts passiert.
Florian Brucker

1
Dokumente zu diesem Verfahren: tortoisesvn.net/docs/release/TortoiseSVN_en/…
Costa

TortoiseSVN> Protokoll anzeigen> <Wählen Sie Ihre alte Version aus >> Kehren Sie zu dieser Revision zurück tortoisesvn.net/docs/nightly/TortoiseSVN_en/…
Satyendra

15

Möglicherweise müssen Sie die Befehlszeile verwenden, aber Sie können den SVN-Zusammenführungsbefehl verwenden und die Revisionen in umgekehrter Reihenfolge angeben, um ein Commit effektiv zurückzusetzen. Angenommen, Ihr schlechtes Commit war r1123, würden Sie Folgendes tun:

svn merge -r1123:1122 <url of your working copy>

Wenn ich das mag, ändert sich nichts: svn merge -r 1880: 1879 server / myproject / branch / problem42 Ich habe sowohl mit Speicherplatz wie diesem "-r 1880: 1879" als auch ohne Speicherplatz wie diesem "-r1880: 1879" versucht. Wenn ich danach "svn st" starte, hat sich nichts geändert.
Neoneye

2

Sie können Ihre Arbeitskopie vor dem Festschreiben auf die Revision zurücksetzen. Sobald Sie Ihre Arbeitskopie zurückgesetzt haben, übernehmen Sie einfach die Änderungen und Sie werden das versehentliche Festschreiben effektiv rückgängig machen.

In einem Fall wie Ihrem würde ich wahrscheinlich die Revision überprüfen, die ich in eine neue Arbeitskopie zurücksetzen wollte, und dann die Arbeitskopie für die Kopfrevision festschreiben.


4
Würde Ihnen dies nicht sagen, dass Ihre Revision veraltet ist und Sie vor dem Festschreiben eine Aktualisierung benötigen? Ich denke, Sie müssen die vorherige Revision zusammenführen, anstatt nur auf die alte zu aktualisieren.
Mnebuerquo

Bei dieser Strategie wird auch davon ausgegangen, dass das schlechte Commit das vorherige ist. Möglicherweise möchten Sie einige Änderungen rückgängig machen, die vor einiger Zeit vorgenommen wurden, ohne alle rückgängig zu machen.
Jpaugh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.