Sto cercando di comprendere meglio i flussi di lavoro Git e di leggere questo post del blog . Cosa succede dopo l'unione in master
se un'altra funzione è in attesa di distribuzione?
- La distribuzione da
master
viene posticipata e la funzionalità viene distribuita per prima.
master
prima di poter bloccare l'applicazione. Ilpostdelblogdice:
Onceacommitonmasterhasbeendeployedtoproduction,itshouldneverbe“removed”fromproductionbydeployingabranchthatdoesn’thavethatcommitinityet.
Quantosoprasuggeriscechemaster
potrebbeaverecommitchenonsonoancorastatidistribuiti.
Anendpointonthegithub.comapplicationexposestheSHA1thatiscurrentlyrunninginproduction.WesubmitthistotheGitHubcompareAPItoobtainthe“mergebase”,orthecommonancestor,ofmasterandtheproductionSHA1.Wecanthencomparethistothebranchthatwe’reattemptingtodeploytocheckthatthebranchiscaughtup.Byusingthecommonancestorofmasterandproduction,codethatonlyexistsonabranchcanberemovedfromproduction,andchangesthathavelandedonmasterbuthaven’tbeendeployedyetwon’trequirebranchestomergetheminbeforedeploying.
Seledistribuzionida%co_dehannosempreavutolaprecedenza,la"base di unione" sarebbe sempre master
, quindi, di nuovo, suggerisce che ci possono essere commit su HEAD
che non sono stati distribuiti.
Entrambi questi elementi mi inducono a ritenere che le distribuzioni da commit su master
possano essere ritardate mentre le funzionalità aggiuntive vengono implementate / testate prima sulla produzione. In questo caso, entrambe le funzioni ( master
e 2
) vengono visualizzate dal vivo per 15 minuti e quindi scompaiono temporaneamente finché non vengono ridistribuite da un 3
commit?
Che cosa succede se le caratteristiche master
e 2
sono in conflitto?
Se sono completamente frainteso, qualcuno potrebbe dare un esempio di cosa succederebbe se le funzioni 3
e 2
fossero in conflitto tra loro e si tentasse di distribuirle nello stesso momento?