SVN Copia di lavoro per diverso Merge Branch Senza impegnarsi a lavorare Copy Branch
-
04-10-2019 - |
Domanda
Se una copia di lavoro (copia locale) è stato creato da un ramo, consente di chiamare A. Coding è stato fatto nel ramo A, ma Un ramo era "chiusa" per commit, e il ramo b è stata aperta. Come faccio a fondere il mio lavoro cambia copiare nel ramo B e si impegnano a ramo B, senza commettere le mie modifiche al ramo Un primo.
Trunk -.> Ramo Un
I checked out branch A and made changes.
Branch A was closed to commits.
Nuovo Branch creato dalla filiale A. ramo A -.> ramo B
I would like to commit my working copy changes (currently pointing at Branch A into branch B without commiting to Branch A)
Soluzione
- di backup fare della vostra copia di lavoro.
-
svn switch
in ramoB
- recensione modifiche (revisione di base potrebbe essere diverso, e svn fa ciechi, muti si fonde testuali solo), risolvere i conflitti, se del caso
- commit
Fare le cose come questo con una copia di lavoro con modifiche non è pericolosa. Se qualcosa va storto o se ci sono troppe modifiche in conflitto, rollback alla versione di backup, creare un ramo temporaneo dalla revisione di base della vostra copia di lavoro del A
, passare a quello, e rendere effettivi i cambiamenti, in modo che siano in un posto sicuro. Quindi unire quel ramo in B
qualsiasi modo si desidera e eliminarlo successivamente.
Ricordate il mantra svn: Commit presto, si impegnano spesso . Se ho modifiche non in giro per più di una giornata di lavoro, mi innervosisco. Di solito, a creare un ramo di caratteristica per qualsiasi sviluppo che durano più di un paio d'ore. e regolarmente impegnarsi per questo. Quando ho finito mi fondo in ovunque venisse ed eliminarlo in seguito.
Altri suggerimenti
Per essere molto attenti, io i miei cambiamenti al ramo privato (chiamiamolo C
), quindi unire il ramo C
alla nuova B
ramo open-per-commit.
-
cd
di directory di lavoro con le modifiche che vuole impegnarsi -
svn copy . C
-
cd ..
alla cartella di lavoro con le estrazioni -
svn co B
-
cd
nella directory B -
svn merge
la revisione dal punto 2. - Recensione cambia.
- Commit!