Vertakken en samenvoegen met git is een van de functies die het de moeite waard maakt om git te gebruiken. Het hebben van een succesvol vertakkingsmodel is de sleutel om op de dagelijkse behoeften te kunnen reageren.
Waarom een overhead maken? Het gemakkelijke gebruik indien een project in productie is en nieuwe functies worden ontwikkeld, vereist dat je een workflow hebt die je in staat stelt om oplossingen te introduceren zonder dat je de hele ontwikkelingscode hoeft vrij te geven. Je wilt niet wachten op een stabiele versie van alle functies die momenteel in ontwikkeling zijn. Lees er hier alles over http://nvie.com/posts/a-successful-git-branching-model/ [2]
Om de overhead te minimaliseren is er iets genaamd git flow. Deze opdrachtregel biedt veel verlichting. Bijvoorbeeld, het initialiseren van je repo:
git flow init
het creëren van een functie tak met:
git flow feature start homepage
Beëindig een tak met:
git flow feature finish
De zelfde logica is toegepast op release branches, waar het samenvoegt met de master en terug in de ontwikkeling. Op deze manier kan de master branch niet vooruitlopen op de ontwikkeling.
Hot fix branches stellen je in staat om samen te voegen in de ontwikkeling en in de master, zodat je dingen kunt oplossen en direct kunt uitvoeren in de productie.
Installeer git flow
https://github.com/nvie/gitflow#readme [3]
https://github.com/nvie/gitflow/wiki/Linux [4]
Installeer git flow compleet
https://github.com/bobthecow/git-flow-completion#readme [5]
Git flow remote
http://www.scottw.com/setting-up-git-flow-remote [6]
Continuous integration
Wat dacht je van het samenvoegen van de workflow in je Continous integration process? Wat er gedaan kan worden is dat we in de ontwikkeling de development branch voortdurend testen, iedere keer als we er een samenvoeging op doen. Lees de volgende blog post over het gebruik van git flow in je continuous integration process.
Links
[1] https://dominiquedecooman.com/nl/blog-topics/git
[2] http://nvie.com/posts/a-successful-git-branching-model/
[3] https://github.com/nvie/gitflow#readme
[4] https://github.com/nvie/gitflow/wiki/Linux
[5] https://github.com/bobthecow/git-flow-completion#readme
[6] http://www.scottw.com/setting-up-git-flow-remote