2010-05-25 3 views
13

Se una copia di lavoro (copia locale) è stata creata da un ramo, chiamiamola A. La codifica è stata eseguita nel ramo A, ma il ramo A è "Chiuso" su si impegna e il ramo b è stato aperto. Come faccio a unire le mie modifiche di copia di lavoro nel ramo B e a impegnarmi nel ramo B, senza prima passare le modifiche al ramo A.SVN Copia di lavoro su rami diversi Unisci senza commit su copia di lavoro Branch

Tronco -> ramo A.

I checked out branch A and made changes. 
    Branch A was closed to commits. 

Nuovo Branch creato dal ramo 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) 

risposta

16
  1. di backup fare della vostra copia di lavoro.
  2. svn switch di espandersi B
  3. recensione modifiche (revisione di base potrebbe essere diverso, e svn non vedenti, testuale muto si fonde solo), risolvere i conflitti, se del caso
  4. commettere

fare le cose come questo con un la copia di lavoro con modifiche non salvate è pericolosa. Se qualcosa va storto o se ci sono troppe modifiche in conflitto, esegui il rollback alla versione di backup, crea una derivazione temporanea dalla revisione di base della copia di lavoro di A, passa a quella e conferma le modifiche, in modo che siano sicure. Quindi unisci quel ramo in B in qualsiasi modo desideri ed eliminalo in seguito.

Ricordate il mantra svn: Commit precoce, commettono spesso. Se ho dei cambiamenti senza impegno in giro per più di un giorno di lavoro, mi innervosisco. Di solito, creo un branch di funzionalità per qualsiasi sviluppo che duri più di qualche ora. e si impegnano regolarmente a questo. Quando ho finito lo unisco in qualunque posto provenga e lo cancelli in seguito.

+0

Questo ha funzionato. Non avevo bisogno del backup, ma era bello averlo perché non vuoi perdere molti giorni di lavoro. Mi piace il svn mantra! –

2

stare molto attenti, io commetto mie modifiche ad un ramo privato (chiamiamolo C), quindi unire il ramo C alla nuova filiale aperta-for-commit B.

  1. cd di directory di lavoro con le modifiche che si desidera impegnarsi
  2. svn copy . C
  3. cd .. alla cartella di lavoro con le estrazioni
  4. svn co B
  5. cd in B directory
  6. svn merge la revisione dal punto 2
  7. Rivedi le modifiche.
  8. Conflitto!