2016-06-07 22 views
5

Sono ancora nuovo a questo quindi sto cercando di capire perché master termina 1 commit prima di develop anziché lo stesso dopo aver unito un ramo release di nuovo in develop e master.Dopo l'unione del ramo di rilascio, perché il master 1 si impegna prima dello sviluppo?

mio develop ramo era 5 commette davanti a maestro, poi ho creato un ramo release e contrassegnata con la quale è stato anche 5 commette davanti master, poi ho fuso release ramo di nuovo in develop e master ma master finisce 1 commettere davanti develop .

È questo perché non sono state apportate modifiche al ramo release ed era lo stesso di develop così l'unione non ha creato un commit sul develop ma lo ha fatto in master che rende master 1 commettere avanti anche se master e develop ora sono uguali a questo punto?

Va bene? Ciò causerà problemi?

risposta

3

Il problema è che il merge si sta rilevando. La vostra storia commettere probabilmente simile a questa:

*------------------ A [master] 
\    /
    *---*---*---*---B [develop,release] 

Commit B è, come si parla, 5 commette davanti master. Quando si è unito il ramo di rilascio nuovamente a master, è stato creato un commit unione, A. Il commit unione non esiste ancora in develop.

Questo non è qualcosa di cui devi preoccuparti. Normalmente, quel commit finirà automaticamente in develop la prossima volta che finisci un ramo hotfix.

+0

Non sarebbe meglio semplicemente unire 'master' in sviluppo invece di' release'? – Bas

+1

@Bas: Non sei sicuro di cosa intendi per l'ultima parte del tuo commento ('release' è stato fuso in' master', non 'develop'). Non c'è davvero alcun bisogno di unire 'master' in' develop', perché l'unica cosa che 'develop' è mancante è il merge commit (ma' develop' ha già tutte le modifiche contenute nel commit di unione). –

0

IMO che 1 commit avanti è paragonato all'origine/master o al ramo remoto che il master sta monitorando. Dato che hai fatto un'unione sul ramo locale, creerà un nuovo commit per quell'unione sul tuo master locale, quindi lo renderà 1 commit ahead.

+0

E questo è normale e ok giusto? – OutOFTouch

+0

Ho sempre pensato che lo sviluppo dovrebbe essere in anticipo rispetto al Maestro in ogni momento? – OutOFTouch

+0

Quando ho unito la versione a master e sviluppo, vedo solo un commit da masterare, è perché non sono state apportate modifiche al rilascio dopo che è stato creato ed era nello stesso punto in cui si sviluppa? Sono d'accordo con la tua affermazione che il commit è fatto al master locale e spinto all'origine, anche se lo sviluppo dei rami remoti è ora 1 commit dietro master. Normalmente non creo release e feature branch perché sono uno sviluppatore solista, ho appena finito di fondare lo sviluppo in master sul server remoto. Mi piacerebbe cambiare questa pratica anche se sembra sbagliato. – OutOFTouch