Ich habe ein SVN-Arbeitsverzeichnis. Ich habe einige Änderungen in diesem Verzeichnis vorgenommen, und es wird in angezeigt svn status
. Aber gibt es eine Möglichkeit für mich, alle meine Änderungen dort zu entfernen und alles über die Befehlszeile aus dem Trunk zu holen?
195
Ich habe eine Kombination der Antworten anderer Leute verwendet, um diese Lösung zu finden:
Normale lokale SVN-Änderungen rückgängig machen
Entfernen Sie alle anderen Änderungen und unterstützen Sie das Entfernen von Dateien / Ordnern mit Leerzeichen usw.
Vergessen Sie nicht, die neuesten Dateien von SVN zu erhalten
quelle
quelle
svn cleanup . --remove-ignored
Wenn Sie keine Änderungen haben, können Sie immer sehr gründlich und / oder faul sein und ...
Aber nein, tun Sie das nicht , es sei denn, Sie sind sich wirklich sicher, dass die Option "Nuke-from-Space" genau das ist, was Sie wollen! Dies hat den Vorteil, dass auch alle Build-Cruft, temporären Dateien und Dinge, die SVN ignoriert, zerstört werden.
Die korrektere Lösung besteht darin, den Befehl revert zu verwenden:
Das -R bewirkt, dass die Subversion alles im und unter dem aktuellen Arbeitsverzeichnis wiederholt und zurücksetzt.
quelle
svn nuke-from-space
Keine der Antworten hier war genau das, was ich wollte. Folgendes habe ich mir ausgedacht:
Getestet unter Linux; mag in Cygwin funktionieren, basiert aber (glaube ich) auf einer GNU-spezifischen Erweiterung, die es xargs ermöglicht, basierend auf
'\0'
anstelle von Leerzeichen zu teilen .Der Vorteil des obigen Befehls besteht darin, dass zum Zurücksetzen der Sandbox keine Netzwerkaktivität erforderlich ist. Sie bekommen genau das, was Sie vorher hatten, und Sie verlieren alle Ihre Änderungen . (Haftungsausschluss, bevor mich jemand beschuldigt, dass dieser Code seine Arbeit zerstört) ;-)
Ich verwende dieses Skript auf einem kontinuierlichen Integrationssystem, auf dem ich sicherstellen möchte, dass nach einigen Tests ein sauberer Build ausgeführt wird.
Bearbeiten : Ich bin nicht sicher, ob dies mit allen Versionen von Subversion funktioniert. Es ist nicht klar, ob der
svn status
Befehl immer konsistent formatiert ist. Die Verwendung erfolgt auf eigenes Risiko, wie bei jedem Befehl, der einen solchen Pauschalbefehl verwendetrm
.quelle
svn revert macht alle lokalen Änderungen rückgängig, die Sie vorgenommen haben
quelle
Mit dem folgenden Befehl können Sie alle lokalen Änderungen rückgängig machen:
quelle
Entfernt alle geänderten Dateien. Ich erinnere mich an Probleme beim Zurücksetzen, wenn möglicherweise Dateien und Verzeichnisse hinzugefügt wurden.
quelle
svn zurücksetzen
quelle
Wenn Sie sich in Windows befinden, werden mit der folgenden for-Schleife alle nicht festgeschriebenen Änderungen an Ihrem Arbeitsbereich zurückgesetzt:
Wenn Sie alle nicht festgeschriebenen Änderungen und alle nicht versionierten Objekte entfernen möchten, sind zwei Schleifen erforderlich:
quelle