2013-08-29 11 views
8

Ho seguito questa guida per lavorare con progetti git distribuiti: http://nvie.com/posts/a-successful-git-branching-model/. Ha funzionato bene ma ora ho incontrato un problema. Ho creato un ramo di funzionalità locale. Vorrei mantenere aggiornato questo ramo di funzionalità con le ultime modifiche apportate in dev. È possibile? Stavo cercando questo e ho scoperto che probabilmente avrei dovuto usare rebase. Ma c'erano così tante opzioni che non sapevo esattamente quale avrei dovuto usare. Come lo farei?Git: come mantenere aggiornato il ramo di funzionalità locale con le modifiche apportate in dev?

risposta

9

Periodicamente:

λ git checkout dev 
λ git pull origin dev 
λ git checkout myfeaturebranch 
λ git merge dev 
+0

Quindi, quando è il momento di unire il mio ramo di funzionalità in 'dev', non dovrei preoccuparmi di eventuali conflitti di unione? – Jeff

+0

Corretto, sebbene il compromesso debba risolvere i conflitti di unione nel passaggio 'git merge dev' qui sopra. –

+0

C'è qualche vantaggio nel farlo in questo modo rispetto alla rebasing suggerita da Derek S? – Jeff

5

L'esecuzione di git rebase dev mentre si trova sul ramo di funzione dovrebbe fare il trucco (aggiornare prima il dev di origine dall'origine, se necessario).

Questo ripeterà le modifiche dal ramo delle funzionalità a dev, quindi imposta la testa della feature come il capo della nuova cronologia.

Nota: Solo rebase se il ramo funzione commesso non è stato ancora premuto. Riscriverà la tua storia. Ci sono alcuni avvertimenti con rebase che potrebbero o meno valere il rischio.

+4

Credo che questo sia il modo migliore per farlo, ma solo si dovrebbe fare se la vostra funzione commit tralcio non sono stati spinti. Questo è ciò che afferma la documentazione git. – DaBlick

+0

@DaBlick Grazie, ho aggiornato la risposta per includere questa nota. –

Problemi correlati