2013-05-08 2 views
13

Sto iniziando con git flow e capisco che fare:Unire un ramo con Git flusso mantenendo il ramo ancora vivo

git flow feature start my-feature 
git flow feature finish my-feature 

ho creare una funzione e poi, quando ho finito i miei cambiamenti, mi fondo con il ramo di sviluppo. Il comando di flusso di finitura letteralmente elimina il ramo di funzione dopo l'azione di unione.

La mia domanda è: c'è un modo per utilizzare il flusso git per unire la mia funzionalità con lo sviluppo senza eliminare dopo l'unione.

E la mia seconda domanda sarebbe: questo flusso di lavoro è corretto? Voglio dire, è giusto mantenere i branch delle feature vivi mentre ci si unisce allo sviluppo, solo per aggiornare il ramo 'main' con alcune modifiche e continuare a lavorare sul feature branch?

risposta

17

Basta usare git flow feature finish -k my-feature

Riferimento: https://github.com/nvie/gitflow/wiki/Command-Line-Arguments

Circa la seconda domanda:

Normalmente non funzione Unione rami più volte in develop. Unisci develop nelle diramazioni delle funzioni (ovvero viceversa) o ridisconi i rami delle funzioni su HEAD di develop (consigliato). L'unica volta in cui unisci un ramo di funzione in develop si ha quando hai completato lo sviluppo della funzione.
Se si uniscono rami di caratteristiche in develop, si rimuove completamente il vantaggio di avere un ramo di funzionalità e si sarebbe potuto sviluppare direttamente su develop.
Se ritieni che sia necessario unire da un ramo di funzionalità a develop, molto probabilmente hai apportato modifiche che non sono direttamente correlate a quella specifica funzione e che dovresti aver apportato in develop in primo luogo.

+0

Grazie, era esattamente quello che stavo cercando. –

+1

Puoi spiegare, per favore, "Non si uniscono le diramazioni delle feature per sviluppare"? Ho appena eseguito il 'git flow feature finish ' e ha emesso esattamente quello. – webXL

+0

@webXL: la mia risposta è stata indirizzata alla sua domanda per unire ripetutamente le modifiche del ramo di funzionalità in fase di sviluppo. Non è quello che fai. Tuttavia, ciò che fai è unire il ramo della caratteristica in sviluppo * una volta * è finito. In questo modo si hanno più fusioni da sviluppo a funzionalità (o rebase di feature in fase di sviluppo) e alla fine del branch di funzionalità, si ha una singola fusione da feature a sviluppo. Ha senso ciò? –