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
Periodicamente:
λ git checkout dev
λ git pull origin dev
λ git checkout myfeaturebranch
λ git merge dev
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.
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
@DaBlick Grazie, ho aggiornato la risposta per includere questa nota. –
- 1. Come annullare le modifiche apportate alla linea principale da un ramo di funzionalità, ma mantenere aggiornato il ramo?
- 2. Spostare le modifiche apportate nel ramo di sviluppo in un nuovo ramo di funzionalità git-flow?
- 3. Un modo più semplice per mantenere aggiornato un ramo git
- 4. Come scartare tutte le modifiche apportate a un ramo?
- 5. Unisci sottostruttura di Git, ma mantenere le modifiche locali?
- 6. Git - Sostituire ramo locale con ramo remoto
- 7. Git: Ignora tutte le modifiche su un ramo locale divergente
- 8. Confronto tra le modifiche apportate al file corrente tramite Git
- 9. Aggiornamento di un ramo locale con le modifiche da un ramo remoto tracciato
- 10. git sposta localmente le modifiche apportate al nuovo ramo e spinge
- 11. Creazione di un ramo git dopo che le modifiche sono state apportate al master
- 12. Impedire che vengano apportate modifiche locali in Git
- 13. Git. Rebase il ramo locale in cima al master locale. Come ignoro le modifiche di un singolo file?
- 14. Come annullare le modifiche apportate tramite Databinding?
- 15. Creazione ramo Git con modifiche correnti
- 16. Come unire il master remoto al ramo locale
- 17. Posso usare git per mantenere aggiornato un server remoto?
- 18. Come passare le diramazioni in eclissi senza commutare le modifiche
- 19. come confermare le modifiche al nuovo ramo
- 20. Git: ottenere modifiche da un altro ramo
- 21. modifiche merging git per sezione locale
- 22. Come si esegue git log per visualizzare le modifiche solo per un ramo specifico?
- 23. git: rinomina ramo locale fallito
- 24. Git: come verificare se un repository locale è aggiornato?
- 25. Git: come sovrascrivere le modifiche locali?
- 26. GIT: Come estrarre le modifiche dal ramo dopo un'operazione di unione ripristinata
- 27. Intellij - Come schiacciare solo il ramo locale
- 28. Come posso ottenere un ramo di monitoraggio remoto per rimanere aggiornato con origini remote in un repository Git spoglio?
- 29. Verifica se il ramo locale esiste su Git remoto
- 30. stato git aggiornato con il telecomando anche se non è
Quindi, quando è il momento di unire il mio ramo di funzionalità in 'dev', non dovrei preoccuparmi di eventuali conflitti di unione? – Jeff
Corretto, sebbene il compromesso debba risolvere i conflitti di unione nel passaggio 'git merge dev' qui sopra. –
C'è qualche vantaggio nel farlo in questo modo rispetto alla rebasing suggerita da Derek S? – Jeff