Branching

Wat is branching

Binnen een GIT-project wordt er gewerkt in verschillende branches. Een branch is als het ware een afgescheiden deel van het project waar er aan één bepaald onderdeel kan worden gewerkt. Als er een nieuwe branch wordt aangemaakt, wordt er eigenlijk een momentopname gemaakt van de initiële branch of het huidige project. Vanaf dat punt wordt de geschiedenis van deze 2 branches gescheiden.

Als we nieuwe functies of features toevoegen doen we dat altijd in een afzonderlijke branch. Dit zorgt er onder andere voor dat het voorgaande werk zeker niet verloren gaat en alles blijft werken. Wanneer de nieuwe feature dan blijkt te werken in de hiervoor aangemaakte branch, dan kan deze branch terug worden samengevoegd met de originele branch.

Zo is er voor dit project bijvoorbeeld een master/main branch. De bedoeling van deze branch is dat deze altijd een werkende versie van het project bevat. Daarnaast is er voor dit project ook een branch genaamd: develop. In deze branch worden features getest en wordt er gedeveloped. Natuurlijk bestaat ons project uit verschillende onderdelen waar gelijktijdig aan gewerkt kan worden binnen de develop-branch. Zo is de tekst die u nu leest bijvoorbeeld deel van het onderdeel "branching" van het project. Daarom is er hiervoor vanaf de develop-branch een nieuwe branch gemaakt genaamd: feat-branching waarin dan alle wijzigingen kunnen gemaakt worden voor dit onderdeel van het project.

Op het moment dat de nieuwe feature blijkt te werken kunnen we de branch voor de feature (bvb. feat-branching) gaan mergen met de develop branch en dan testen als de feature daar ook nog steeds werkt. Meer hierover in een volgend hoofdstuk.

Vaak gebruikte commando’s

Huidige branches bekijken:

De huidige branch waar in wordt gewerkt wordt aangeduid met een asterisk (*)

Bekijk de lokale branches:

git branch

Bekijk de remote branches:

git branch -r

Bekijk alle branches (lokaal en remote):

git branch -av

Wisselen van branch:

Wissel naar een reeds bestaande branch:

git checkout <branch>

Nieuwe branch aanmaken:

Maak een nieuwe branch aan:

git branch <nieuwe_branch>
Als de nieuwe branch is aangemaakt ben je nog niet aan het werken in deze branch. Vooraleer je in de nieuwe branch kan werken moet je eerst wisselen van branch

Nieuwe branch aanmaken en direct in deze branch terecht komen

Zoek nu zelf een commando waarmee je een nieuwe branch kan aanmaken en vervolgens direct in deze branch kan werken. Op deze manier moet je maar 1 commando ingeven in plaats van 2 commando’s.

Branch verwijderen:

Met volgend commando kan je een branch verwijderen:

git branch -d <branch>
git branch -D <branch>
Met de optie -d wordt de branch alleen verwijderd als het veilig is en de branch al is gemerged met een andere branch. Met de optie -D wordt de branch direct verwijderd.

2 branches mergen:

Met het volgende commando kan je branch1 mergen in branch2. Zorg er voor dat je eerst in branch2 aan het werken bent.

git checkout branch2
git merge branch1