webentwicklung-frage-antwort-db.com.de

Wiederherstellen einer früheren Version mit TortoiseSVN

Was ist der einfachste Weg, um meine Arbeitskopie mit Windows TortoiseSVN auf eine frühere Version zurückzusetzen?

Ich habe keinen "auffindbaren" Befehl gefunden, um das schnell zu erledigen.

56
Ricardo Alamino

Dafür gibt es verschiedene Möglichkeiten. Aktualisieren Sie jedoch nicht nur auf die hier vorgeschlagene frühere Version .

Der einfachste Weg, die Änderungen einer einzelnen Revision oder eines Revisionsbereichs rückgängig zu machen, ist die Verwendung des Revisionsprotokolldialogs. Dies ist auch die Methode, mit der Sie die letzten Änderungen verwerfen und eine frühere Revision zum neuen HEAD machen möchten.

  1. Wählen Sie die Datei oder den Ordner aus, in dem Sie die Änderungen rückgängig machen möchten. Wenn Sie alle Änderungen rückgängig machen möchten, sollte dies der Ordner der obersten Ebene sein.
  2. Wählen Sie TortoiseSVN → Show Log, um eine Liste der Revisionen anzuzeigen. Möglicherweise müssen Sie Show All oder Next 100, um die Revision (en) anzuzeigen, an denen Sie interessiert sind.
  3. Wählen Sie die Version aus, die Sie wiederherstellen möchten. Wenn Sie eine Reihe von Überarbeitungen rückgängig machen möchten, wählen Sie die erste aus und halten Sie gedrückt Shift während Sie den letzten auswählen. Beachten Sie, dass bei mehreren Revisionen der Bereich lückenlos sein muss. Klicken Sie mit der rechten Maustaste auf die ausgewählte (n) Revision (en) und wählen Sie dann Context MenuRevert ändert sich von dieser Revision.
  4. Oder wenn Sie eine frühere Revision der neuen HEAD Revision erstellen möchten, klicken Sie mit der rechten Maustaste auf die ausgewählte Revision und wählen Sie dann Context MenuRevert to this revision. Dadurch werden alle Änderungen nach der ausgewählten Revision verworfen.

Sie haben die Änderungen in Ihrer Arbeitskopie rückgängig gemacht. Überprüfen Sie die Ergebnisse und übernehmen Sie die Änderungen.

Alle Lösungen werden im Abschnitt " How Do I .. " erläutert. Teil der TortoiseSVN-Dokumentation.

109
Stefan

Ich habe die gleichen Anweisungen Stefan verwendet, entnommen aus Tortoise-Website .

Aber es ist wichtig, gleich nach auf COMMIT zu klicken. Ich wurde verrückt, bis ich das merkte.

Wenn Sie eine ältere Revision Ihrer Head-Revision vornehmen müssen, gehen Sie wie folgt vor:

  1. Wählen Sie die Datei oder den Ordner aus, in dem Sie die Änderungen rückgängig machen möchten. Wenn Sie alle Änderungen rückgängig machen möchten, sollte dies der Ordner der obersten Ebene sein.

  2. Wählen Sie TortoiseSVN → Show Log, um eine Liste der Revisionen anzuzeigen. Möglicherweise müssen Sie Show All oder Next 100 verwenden, um die Revision (en) anzuzeigen, an denen Sie interessiert sind.

  3. Klicken Sie mit der rechten Maustaste auf die ausgewählte Revision und wählen Sie dann Kontextmenü → Auf diese Revision zurücksetzen. Dadurch werden alle Änderungen nach der ausgewählten Revision verworfen.

  4. Machen Sie ein Commit.

7
ilans

Klicken Sie mit der rechten Maustaste auf den Ordner, der unter SVN-Kontrolle steht, und gehen Sie zu TortoiseSVNProtokoll anzeigen. Notieren Sie sich die Revision, zu der Sie zurückkehren möchten, und gehen Sie dann zu TortoiseSVNpdate auf Revision ....

Enter image description here

2
Rafael Colucci

Der Befehl Zurücksetzen im Kontextmenü ignoriert Ihre Änderungen und versetzt die Arbeitskopie in den vorherigen Zustand. Sie können auch die gewünschte Revision außer "Head" auswählen, wenn Sie "CheckOut" aus dem Repository auswählen.

1
M.Sameer

Hier ist eine andere Methode, die unorthodox ist, aber funktioniert *.

Vor kurzem befand ich mich in einer Situation, in der ich den Code eingecheckt hatte und wusste, dass ich unseren Produktionscode nicht aktualisieren konnte, bis die gesamte Integrationsarbeit stattgefunden hatte (im Nachhinein war dies eine schlechte Entscheidung, aber wir taten es nicht erwarten, dass sie ins Stocken geraten, aber andere Projekte hatten Vorrang). Das war vor einigen Monaten und die Integration ist für die gesamte Zeit ins Stocken geraten. Damit einher geht die Forderung, den Basiscode zu ändern und in der letzten Woche in Produktion zu bringen, ohne dass sich dies ändert.

Folgendes haben wir getan:

Nachdem ich vor dem Einchecken überprüft habe, dass die neue Anforderung bei der Verwendung der Revision keine Probleme verursacht, habe ich eine Kopie des Arbeitsverzeichnisses mit dem neuen Code erstellt. Dann habe ich alles im Arbeitsverzeichnis gelöscht und die gewünschte Revision ausgecheckt. Dann löschte ich alle Dateien, die ich gerade ausgecheckt hatte, und kopierte sie von der Arbeitskopie. Dann habe ich diese Änderung übernommen, die letzte Änderung effektiv aus dem Repository entfernt und den Produktionscode als Hauptrevision übernommen. Wir haben immer noch das Breaking Change zur Verfügung, aber es ist nicht mehr in der Head-Revision, so dass wir mit der Produktion fortfahren können.

* Ich empfehle diese Methode nicht, aber wenn Sie sich in einer ähnlichen Situation befinden, ist dies ein Ausweg, der nicht zu schmerzhaft ist.

1
delliottg

Wählen Sie im TortoiseSVN-Kontextmenü "Update to Revision", geben Sie die gewünschte Revisionsnummer ein und klicken Sie auf "OK".

0