2012-03-06 20 views
32

Mi chiedevo se qualcuno avrebbe avuto un suggerimento migliore per mantenere un ramo di funzionalità in sincrono con il suo ramo padre.Un modo più semplice per mantenere aggiornato un ramo git

In genere sono presenti più rami di funzionalità su cui si sta lavorando alla volta, ciascuno derivato dal nostro ramo develop. È abbastanza comune che i rami di funzionalità vengano uniti in develop un paio di volte al giorno.

Per rimanere aggiornato sulle modifiche (ovvero risolvere i conflitti), trovo necessario mantenere aggiornati i rami di funzionalità su cui sto lavorando attivamente con develop.

Per fare questo ho eseguire questi comandi un paio di volte al giorno:

git checkout develop 
git pull 
git checkout feature/foo 
git merge develop 
git push 

L'ultima git push faccio di solito solo se sto lavorando con qualcun altro sul ramo di caratteristica.

C'è un modo migliore o più conveniente per farlo?

risposta

38

Beh, git è davvero impostato per avvolgere le cose che fai frequentemente in uno script e poi chiamare lo script. Non c'è un numero enorme di variazioni su quanto sopra. Tutto ciò richiederà il pull del ramo upstream e quindi l'integrazione delle modifiche con quelle dell'upstream. Alcune cose che possono accorciare per voi potrebbe essere:

git checkout feature/foo 
git pull --all 
git rebase develop 

In questo modo si può semplicemente tirare tutti i rami a monte in un solo colpo, senza passare per l'altro ramo. E la ridefinizione è probabilmente un'operazione che potresti preferire alla fusione, ma spesso è una scelta personale a seconda di come vuoi che la cronologia venga visualizzata.

+0

come un'aggiunta, se si nomina uno script git-somename e lo si inserisce nel percorso, è possibile chiamarlo direttamente come un normale comando git, quindi rendere lo script di 3 righe "git-featurefoo" di cui sopra consentirebbe di scrivi 'git featurefoo' per eseguire tutte le azioni in un unico comando. –

+0

Mark ha ragione. E non solo, ma potresti anche controllare 'git aliases'. –

+0

afaik c'è anche la possibilità di rifare automaticamente dopo un tiro anche se non l'ho mai usato. Forse è il modo di andare per te? – nanoquack

Problemi correlati