Werken met branches in Git

Werken met branches in Git

6 februari 2025
Erwin Matijsen
Geplaatst in Tutorial
Onderdeel van Werken met Git


In de introductie van deze reeks heb je de eerste stappen gezet in het werken met Git. Je leerde wat een commit is en hoe je bestanden toevoegt aan een commit. In dit artikel ga je leren hoe je met branches kunt werken.

Werken met branches

In de vorige tutorial heb je een eerste commit gedaan in de branch main.

Dit is je hoofdtak. Hier kun je in blijven werken, maar het is gebruikelijk om het werk in branches uit te voeren, en de wijzigingen samen te voegen met main als ze klaar zijn. Dit om de al eerder genoemde reden: in een branch kun je veilig werken zonder de hoofdtak te beïnvloeden.

Er zijn meerdere strategieën om te werken met *branches*. Bijvoorbeeld het maken van zogenaamde *topic-branches*, waarbij je voor een afgebakende functionaliteit of een bepaalde *bug* een nieuwe *branch* maakt. Dit zijn veelal kortdurende *branches*. Je kunt ook langdurende *branches* hanteren, bijvoorbeeld een *branch* genaamd development. Een combinatie van beide is natuurlijk ook mogelijk.

Het wisselen tussen branches noem je een checkout of een switch. Omdat je als je een nieuwe branch maakt je er meestal ook direct naartoe wilt wisselen, kun je git checkout -b <naam-nieuwe-branch> gebruiken. Maak je een branch zonder ernaar toe te wisselen, gebruik dan git branch <naam>.

Maak een nieuwe branch en wissel er naar toe
Switch

In plaats van checkout is er ook het nieuwere switch. Dit commando werkt echter niet met alle git-versies. Veranderen naar een nieuwe branch kan dan met git switch naam-andere-branch . Een nieuwe branch maken en er direct naar toe gaan kan met git switch -c naam-nieuwe-branch

Alle wijzigingen die je nu maakt, zullen in branch functie-a worden gedaan. Hier gelden verder precies dezelfde regels: dus heb je wijzigingen aangebracht, dan gebruik je eerst git add om ze te stagen, en gebruik je git commit om ze aan een commit toe te voegen.

Maak maar eens wat wijzigingen in README.md en voer achtereenvolgens de commando's git add README.md en git commit -m <bericht> uit.

Werken in een nieuwe branch

Een commit heeft altijd een bericht nodig. Met git commit -m 'jouw bericht' voeg je dit bericht direct toe aan de commit. In onderstaande afbeelding bevind je je nu op de eerste blauwe bol.

Werken met branches

Je bent tevreden over deze toevoeging en wilt dit in je hoofdlijn (main) verwerken. Dit proces noem je mergen. Hoe pak je dit aan? Een merge voer je altijd uit vanaf de branch waar je de verandering in wilt samenvoegen, in dit geval dus vanuit main. De eerste stap is dus weer te wisselen naar main, met git checkout main. Voer deze stap eerst uit, en open README.md opnieuw. Als het goed is, zie je de zojuist toegevoegde tekst niet, deze is immers alleen aanwezig in branch functie-a.

Het is afhankelijk van het programma waarmee je README.md opent of je de wijzigingen direct ziet. In een IDE zal het bestand meestal automatisch herladen. In Kladblok in Windows moet je het bestand eerst sluiten en vervolgens opnieuw openen. In andere teksteditors krijg je een bericht dat de inhoud is gewijzigd, en of je het bestand wilt herladen.

Nu geef je met git merge aan welke branch je in main wilt samenvoegen: git merge functie-a.

Terug naar main en wijzigingen samenvoegen

Open nu README.md opnieuw, en je zult zien dat de tekst nu wel aanwezig is.

Nu alles is samengevoegd, heb je branch functie-a niet meer nodig, deze kun je verwijderen. Dit doe je met git branch -d <naam>.

Verwijder ongebruikte branch

Met git branch kun je inzien welke branches je allemaal nog hebt.

Conclusie

In deze tutorial heb je de basis geleerd van het werken met branches. En het is echt de basis, want er is veel meer mogelijk. Maar voor kleinere projecten waar je zelf of met een aantal collega's aan werkt zal dit al vaak voldoende zijn. Worden de projecten en de git-strategiën complexer, dan is het raadzaam om het git-boek te lezen. Vaak zullen er ook afspraken binnen de organisatie zijn gemaakt over hoe om te gaan met bepaalde situaties. Van je collega's kun je in dat geval veel leren!

In de volgende en laatste tutorial ga je in op het werken met remotes: ofwel repositories die niet op je eigen computer staan, maar ergens op een centrale server. Op die manier kun je met verschillende mensen aan hetzelfde project werken.

Over de auteur


Erwin Matijsen

Erwin Matijsen

Erwin is de oprichter van python-cursus.nl. In allerlei rollen heeft hij Python ingezet, van het eenvoudiger maken van zijn werk tot het opleveren van complete (web)applicaties. Met vrouw en kinderen woont hij in Havelte (Drenthe), midden in de prachtige natuur. Daar wandelt hij graag, zeker ook omdat de beste ingevingen tijdens een wandeling - weg van de computer - lijken te komen.


Contact

Vragen, opmerkingen?

Heb je vragen, opmerkingen, suggesties of tips naar aanleiding van deze blog? Neem dan contact met ons op, of laat het weten via Mastodon of LinkedIN.