Revisionen mit TortoiseSVN löschen

8

Ich habe mit TortoiseSVN einige schlechte Code-Änderungen an meinem SVN-Server vorgenommen.

Jetzt ist die Kopfrevision 155, aber ich möchte die letzten 2 Revisionen löschen, so dass die Kopfrevision 153 ist. Mit anderen Worten, ich möchte meine letzten beiden Commits "rückgängig machen".

Wie kann ich das mit TortoiseSVN machen? Existiert eine Option im TortoiseSVN-Menü oder muss ich die Befehlszeile verwenden?

    
user974967 05.12.2012, 00:18
quelle

5 Antworten

5

Wenn Sie das SVN-Protokoll öffnen, können Sie mit der rechten Maustaste auf eine Revision klicken und die Optionen Zurück zu dieser Revision oder Änderungen von dieser Revision zurücksetzen verwenden. Beide Optionen aktualisieren Ihre Arbeitskopie (die Sie dann committen können).

In TortoiseSVN gibt es keine Optionen, Revisionen zu löschen.

    
Luke Z 05.12.2012, 00:26
quelle
1

Als Wurzel Ihrer aktualisierten Arbeitskopie sollten Sie den folgenden Befehl verwenden:

%Vor%

Das wird alle Ihre Änderungen von Revision 153 rückgängig machen, so dass Ihre Revision 156 wie Revision 153 aussehen wird.

Vergessen Sie nicht, danach zu begehen!

Sie können dasselbe auch von TortoiseSvn aus tun: Öffnen Sie die Schnittstelle Protokoll anzeigen , wählen Sie die Revision 153 aus, klicken Sie mit der rechten Maustaste darauf und wählen Sie Änderungen von dieser Revision zurücksetzen '.

    
Yannick Blondeau 05.12.2012 00:33
quelle
0

Über die Befehlszeile:

Verändern Sie die Änderungen in eine Datei:

%Vor%

Zum Beispiel:

%Vor%     
phonetagger 05.12.2012 00:28
quelle
0

Leider gibt es mit TortoiseSVN (oder einem anderen SVN-Client) keine Möglichkeit, eine Revision in dem Sinne zu löschen, dass sie vollständig aus dem Verlauf verschwindet. Das Ändern des Verlaufs eines SVN-Repositorys ist schwierig und erfordert eine Manipulation auf dem Server - siehe diese Frage: Warum wird ein wesentliches Merkmal von Subversion nicht ausgelöscht?

Sie können jedoch ein Einchecken rückgängig machen, indem Sie ein neues Einchecken durchführen, das es zurücknimmt. Dies geschieht normalerweise mit einer Technik namens "Reverse Merge". Siehe z.B. Rückzug versehentlich einchecken

    
sleske 05.12.2012 00:32
quelle
0

Ich habe diese Anweisungen aus der Tortoise-Website übernommen.

Es ist jedoch wichtig, direkt nach auf COMMIT zu klicken. Ich wurde verrückt, bis mir das klar wurde.

Wenn Sie eine ältere 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 zurücksetzen möchten, sollte dies der oberste Ordner sein.

  2. Wählen Sie TortoiseSVN → Protokoll anzeigen, 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ü → Zu dieser Revision zurückkehren. Dadurch werden alle Änderungen nach der ausgewählten Revision verworfen.

  4. Eine Festschreibung durchführen.

ilans 09.06.2014 12:35
quelle