Ik werk nu ongeveer een jaar met Git en het is me hartstikke goed bevallen. Het geeft veel meer mogelijkheden om samen aan software te bouwen dan bijvoorbeeld SVN, wat ik daarvoor gebruikte. Maar die vrijheid vraagt ook weer om een bepaalde structuur. En dat is waar Gitflow het leven heel veel makkelijker maakt.
Een duidelijke structuur
Omdat Git het zo makkelijk maakt om met branches te werken kan het al snel een rommeltje worden. Slimme mensen, zoals Vincent Driessen, hebben daarom een workflow bedacht om goed met die branches om te gaan.
Zijn idee, de Gitflow workflow, is iets dat ik langere tijd in de praktijk gebruik. Het werkt erg lekker maar het is wel veel werk. Je moet consequent blijven in je naamgeving en de tijd en manier waarop je branched en merged.
Gitflow
Gelukkig is er ook daar een oplossing voor: gitflow. Het is een extensie op de Git command line waarmee je het aanmaken en mergen van branches kunt automatiseren. Er zijn commando’s om te werken met feature-, hotfix-, en release-branches.
Met een simpel commando kun je een feature-branch starten of weer mergen:
git flow feature start <naam-van-je-feature>
git flow feature finish <naam-van-je-feature>
De output van het commando is erg fijn, je ziet precies wat er is gebeurd.
vagrant@homestead:~/Code/barryvanveen$ git flow feature start pagination
Switched to a new branch 'feature/pagination'
Summary of actions:
- A new branch 'feature/pagination' was created, based on 'develop'
- You are now on branch 'feature/pagination'
Now, start committing on your feature. When done, use:
git flow feature finish pagination
Lees verder
Lees voor een uitgebreide introductie vooral ook de blogpost Using git-flow to automate your git branching workflow.