Come posso mantenere aggiornato il mio ramo con master con git?


126

Ho una correzione di bug nel mio master e voglio anche che il mio ramo ottenga quella correzione di bug. Quale gitcomando uso?

Risposte:


172

Supponendo che tu stia bene prendendo tutte le modifiche in master, quello che vuoi è:

git checkout <my branch>

per passare l'albero di lavoro al tuo ramo; poi:

git merge master

per unire tutte le modifiche in master con le tue.


5
E questo aggiunge solo le modifiche dal mio master nel mio ramo e lascia solo il master, giusto?
Nic Hubbard,

3
@Nic - Questo porterà tutti i commit dal master, non solo la correzione dei bug. Assicurati se questo è quello che vuoi fare.
manojlds,

12
@Nic - Corretto, questo non modifica il master.
John Doty,

16
Potrebbe essere utile raccomandare un "master di checkout git iniziale; git pull" per assicurarsi che il ramo master locale sia aggiornato. Di solito ovvio, ma ...
MikeW

Come collegamento master per checkout / merge, puoi semplicemente fare un "master git pull origin" per estrarre il master / unione del server nel ramo di checkout locale?
user1172173

66

Se la tua filiale è solo locale e non è stata inviata al server, usa

git rebase master

Altrimenti, usa

git merge master

18
Perché modifica la cronologia di commit e non si desidera inviare la cronologia delle ricerche modificata al server.
Chetan,

1
Se si utilizza un repository svn come repository remoto, tramite git svn—quindi git rebase masterè la strada da percorrere, per mantenere una cronologia lineare, che è ciò che svn comprende.
alondono,

15

È possibile utilizzare Cherry-Pick per ottenere i particolari commit della correzione dei bug

$ git checkout branch
$ git cherry-pick bugfix

il cherry-pick funzionerà solo se il bugfix fosse un ramo che è stato ricondotto nel master?
Prasith Govin,

1
Puoi selezionare ciliegia, ma dopo aver unito il ramo al master (quando il ramo è pronto) avrai il commit della correzione dei bug due volte nella cronologia.
Gauthier,

0

Se vuoi solo che la correzione di bug sia integrata nel ramo, git cherry-picki commit pertinenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.