SVN Arbeitskopie zu anderem Zweig Merge ohne Commit zu Arbeitskopie Ast
-
04-10-2019 - |
Frage
Wenn eine Arbeitskopie (lokale Kopie) von einem Zweig erstellt wurde, lässt es A. nennen Codierung wurde in Zweig A gemacht, aber Zweig A war „geschlossen“ zu Commits und Zweig b eröffnet wurde. Wie fusionieren ich meine Arbeitskopie Änderungen in Zweig B und Zweig B begehen, ohne zuerst meine Änderungen an Zweig A commiting.
Trunk -.> Zweig A
I checked out branch A and made changes.
Branch A was closed to commits.
Neue Niederlassung erstellt von Zweig A. Zweig. A -> Zweig B
I would like to commit my working copy changes (currently pointing at Branch A into branch B without commiting to Branch A)
Lösung
- Make Backup Ihrer Arbeitskopie.
-
svn switch
SPRUNGB
- Überprüfung der Änderungen (Basisrevision unterschiedlich sein können, und svn macht blind, stumm Text verschmilzt nur), Konflikte lösen, wenn jeder
- commit
Dinge zu tun, wie diese mit einer Arbeitskopie mit unbestätigten Änderungen ist gefährlich. Wenn etwas schief geht oder wenn es zu viele widersprüchlichen Änderungen, Zurückkehren zu Ihrer gesicherten Version ist, einen temporären Zweig von Ihrer Arbeitskopie der Basisrevision A
, wechseln Sie zu, dass erstellen, und Ihre Änderungen, so dass sie irgendwo sicher sind. Dann verschmilzt diesen Zweig in B
je nachdem, wie Sie wollen, und es danach löschen.
Denken Sie daran, das svn Mantra: früh Commit, begehen oft . Wenn ich für mehr als einen Arbeitstag rumliegen unbestätigten Änderungen haben, bekomme ich nervös. Normalerweise erstelle ich einen Funktionszweig für jede Entwicklung länger als ein paar Stunden. und regelmäßig, dass zu begehen. Wenn ich fertig bin fusionieren ich es in überall dort, wo es herkommt und es danach löschen.
Andere Tipps
sehr vorsichtig sein, ich meine Änderungen an einer Nebenstellen begehen würde (nennen wir es C
), dann verschmelzen die C
Zweig an die neue Open-for-Commits Zweig B
.
-
cd
zu Arbeitsverzeichnis mit Änderungen möchten Sie begehen
-
svn copy . C
-
cd ..
in Ihren Arbeitsbereich Ordner mit Auscheckvorgänge -
svn co B
-
cd
in B-Verzeichnis -
svn merge
die Revision von Schritt 2. - Überprüfen ändert.
- Commit!