2010-05-06 1 views
101

Ich habe an Code aus der Entwicklungslinie ausgecheckt und festgestellt, dass die vorgenommenen Änderungen brechen Änderungen und müssen in einen experimentellen Zweig zuvor verschoben werden Begib dich auf den Hauptentwicklerbaum. Ich habe den experimentellen Zweig jedoch nicht ausgecheckt und möchte die Änderungen, die bereits gemacht wurden, nicht verlieren.Commit Änderungen an einem anderen Zweig als die derzeit ausgecheckt Zweig mit Subversion

Gibt es eine Möglichkeit, die Änderungen im Arbeitsordner in einen anderen Zweig zu übernehmen als ursprünglich ausgecheckt?

Antwort

112

Sie einen Zweig von einem bekannten sourceURL schaffen sollte (dies würde Ihre ‚Entwicklungslinie‘, die Sie in der Frage erwähnt) zuerst:

svn copy sourceURL branchURL 

Dann wechseln Sie in diesen Zweig:

svn switch branchURL 

Und Ihre Änderungen:

svn commit 
8

Sie können einen neuen Zweig direkt aus Ihrem Arbeitsverzeichnis erstellen und das Arbeitsverzeichnis auf diesen Zweig umstellen.

Die Befehle sind svn copy und svn switch

44

Man könnte es so, dass in der TortoiseSVN tun:

  • Rechts auf das Verzeichnis klicken, wo sind die Änderungen, die Sie verzweigen möchten. Es muss nicht die Wurzel des Repositories sein, weniger um auf diese Weise zu duplizieren;
  • Wählen TortoiseSVN -> "Zweig/Tag ...";
  • Set Zu URL: "svn: // host/repository/FooBar/branches/FooBarBranchName";
  • Sicherstellen, dass [*] Arbeitskopie ausgewählt ist. Dadurch wird sichergestellt, dass die Änderungen vorgenommen werden.
  • Log-Nachricht: "Experimentieren mit Fliegen :)";
  • Optional: Markieren Sie [*] Wechseln Sie die Arbeitskopie in den neuen Zweig/Tag. Dies ist nützlich, wenn Sie weiter an der neuen Niederlassung arbeiten möchten. Sie können jedoch auch später darauf zugreifen.
  • Versuchen Sie, die OK Schaltfläche zu finden. Hinweis: Es ist im unteren Teil des Fensters zentriert.

Genießen Sie!

+0

Was meinen Sie mit "Es muss nicht die Wurzel des Repository sein, weniger, um auf diese Weise zu duplizieren"? – thekozak

+0

Ich empfehle, den Stammordner nicht mit allen irrelevanten Unterordnern zu wählen, die in der Branche nicht geändert werden sollen. Später wird es einfacher sein, den (kleineren) Zweig wieder mit dem Stamm zu verbinden. –

+0

In meinem Fall verursachte das Festschreiben nur dieses Ordners Probleme, weil die Software auch von Superfoldern abhängig ist. Ich denke, das ist meistens der Fall. Ich denke, für die meisten Anwendungsfälle ist es besser, die ganze Sache zu begehen, daher wird empfohlen, von der Wurzel aus zu sprechen, die ich sage. – ikku100