2015-06-29 32 views
19

Durante l'utilizzo di Gitflow, qual è il motivo per separare la denominazione della diramazione tra funzionalità vs correzione rapida e hotfix?Funzione Gitflow vs denominazione del ramo di bugfix

I.e. perché non solo, per esempio, invece di:

feature/ 
bugfix/ 
hotfix/ 

basta fare:

change/ 

Che cosa separa dalla funzione/bugfix/hotfix acquistare?

risposta

26

Ottime domande e la risposta dipende davvero da come si ordina il proprio idiota. Il modello di branching e gitflow in generale sta cercando di darci un po 'di ordine nel caos che si verifica solo dopo un paio di giorni.

L'immagine in basso mostra ciò che è più sensato.

(Per quanto ne so che tutto è venuto this blog post by Vincent Driessen)

Separare i tuoi aggiornamenti rapidi che si fondono direttamente nel maestro e le vostre correzioni che si fondono in dev rende più facile andare con il vostro ciclo di prodotto.

L'idea è di costruire la tua app, creare funzionalità, fare un rilascio candidato (beta test) e poi rilasciare la tua app. Gli aggiornamenti rapidi possono essere necessari in qualsiasi momento dopo questo. Non c'è motivo di tornare indietro fino al ramo della funzione e di emettere una correzione di bug in quanto la funzione potrebbe essere già stata sviluppata ulteriormente.

Ha senso?

enter image description here

+4

Ho pensato che gli hotfix sono correzioni di bug. C'è una differenza? – Danger14

+7

Ebbene si. Una correzione è un bugfix sotto pressione :) quando devi aggiustare qualcosa per una release che è già uscita. Non torni nel tuo branch o sottomodulo di funzionalità e lo aggiusti lì poiché questo modulo potrebbe già essere stato ulteriormente sviluppato per la prossima versione. Pensa a Windows XP. Completo di hotfix :) – Dominik

+0

in 'hotfix' git-flow si differenzia da 'funzionalità' nel modo in cui sono basati e in cui sono uniti al termine (come mostrato nel modello in questa risposta). 'hotfix' è basato sul master ed è unito a entrambi i master e si sviluppa una volta terminato. 'feature' si basa sullo sviluppo e si unisce allo sviluppo una volta terminato. 'bugfix' non è ben documentato, ma credo che sia semanticamente diverso da 'feature'. – Superole