Ich habe einen Zweig eines SVN-Projekts mit dem Namen "Features" erstellt. Wenn ich jetzt versuche, dieses Projekt zu aktualisieren, wird ein Feature-Ordner mitgeliefert, der eine weitere Kopie des Projekts aus dem Zweig enthält. Gibt es eine Möglichkeit, den Zweig vollständig aus dem Repository zu entfernen, damit dies nicht mehr passiert?
88
Antworten:
Sicher:
svn rm
der unerwünschte Ordner und Commit.Um diese Situation in Zukunft zu vermeiden, würde ich das empfohlene Layout für SVN-Projekte befolgen :
/someproject/trunk
Ordner (oder nur,/trunk
wenn Sie nur ein Projekt in das Repository stellen möchten)./someproject/branches/somebranch
/someproject/tags
Wenn Sie jetzt eine Arbeitskopie auschecken, müssen Sie nur einen
trunk
oder einen einzelnen Zweig auschecken. Überprüfen Sie nicht alles in einer riesigen Arbeitskopie, die alle Zweige enthält. 11 Wenn Sie nicht wissen, was Sie tun, wissen Sie in diesem Fall, wie Sie flache Arbeitskopien erstellen.
quelle
Angenommen, dieser Zweig ist kein externer oder Symlink, sollte das Entfernen des Zweigs so einfach sein wie:
Wenn Sie dies im Repository tun möchten, aktualisieren Sie es, um es aus Ihrer Arbeitskopie zu entfernen. Sie können Folgendes tun:
Dann renne:
quelle
svn rm -m message http://...
update
Für diejenigen, die TortoiseSVN verwenden , können Sie dies mithilfe des Repository-Browsers erreichen (der im Kontextmenü mit "Repo-Browser" gekennzeichnet ist).
Suchen Sie den Zweigordner, den Sie löschen möchten, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Löschen".
Geben Sie Ihre Commit-Nachricht ein und Sie sind fertig.
quelle
Sie können den Zweig auch direkt auf der Fernbedienung löschen. Wenn Sie dies getan haben, wird es beim nächsten Update aus Ihrer Arbeitskopie entfernt.
Das
^
ist die Abkürzung für die URL der Fernbedienung, wie in 'svn info' zu sehen. Die doppelten Anführungszeichen sind in der Windows-Befehlszeile erforderlich, da^
es sich um ein Sonderzeichen handelt.Dieser Befehl funktioniert auch, wenn Sie den Zweig noch nie ausgecheckt haben.
quelle
Sie können den Funktionsordner wie jeden anderen Ordner in Ihrer Kasse löschen und dann die Änderung festschreiben.
Um dies in Zukunft zu verhindern, empfehlen wir Ihnen, die Namenskonventionen für das SVN-Layout zu befolgen.
Geben Sie jedem Projekt beim Erstellen einen Stamm-, Zweig- und Tag-Ordner.
quelle
Aus der Arbeitskopie:
svn rm branches/features
svn commit -m "delete stale feature branch"
quelle
Der Befehl zum Löschen eines Zweigs lautet wie folgt:
svn delete -m "<Ihre Nachricht>" <zweig>
Wenn Sie nicht das gesamte Repo abrufen / auschecken möchten, führen Sie den folgenden Befehl auf Ihrem Terminal aus:
1) Holen Sie sich den absoluten Pfad des Verzeichnisses, das Ihre Arbeitskopie enthält
> pwd.
2) Starten Sie die svn-Code-Prüfung
> svn-Prüfung <Verzweigungs-URL> <absoluter Pfad von Punkt 1>
Mit den obigen Schritten erhalten Sie die Dateien im Zweigordner und nicht den gesamten Ordner.
quelle