2011-08-25 13 views
14

Ho provato a capire How to undo a commit and commit the changes into the other branch in Git? ma non penso che debba essere così difficile. (La risposta sta usando branch -f e stash e non penso di averne bisogno.)Copia 1 commit da un ramo (dev) a un altro (stabile) con dir direttrice pulita

Stavo lavorando nel mio ramo di sviluppo. Aveva due diversi commit in dir sporco di lavoro. Impegna tutte le modifiche in due commit diversi. L'ultimo commit è WIP (quindi dev materiale). Il penultimo è fatto e dovrebbe essere copiato nel ramo stable.

immagino qualcosa come

$ git copy e87568fa stable 

ma sono abbastanza sicuro che non è questo.

La raccolta delle ciliegie ha qualcosa a che fare con questo?

Per essere sicuro: voglio che il commit rimanga su dev. Quindi non mv, ma cp esso.

Sono ancora sconcertato da tutte queste opzioni e comandi GIT.

risposta

21

Vai al ramo stabile:

git checkout stable 

Copiare il desiderato commettere al ramo corrente.

git cherry-pick e87568fa 

È ora possibile tornare a dev:

git checkout dev 
+0

Non ho una directory di lavoro sporco. Senza il 'stash' ho fatto esattamente questo (http://stackoverflow.com/questions/1334027/git-working-on-multiple-branches/1340143#1340143). Perfezionare! Grazie. Potrei anche ricordarmi di questo =) e sicuramente lo uso ancora. – Rudie

+0

Ho eseguito i passaggi precedenti, più un'altra riga di: 'git cherry-pick {commit-ID}' per spostare '{commit-ID}' sul ramo dev – AceMark

Problemi correlati