Een branch is een aparte kopie van je code waarin gewerkt kan worden zonder de hoofdversie te raken. In Git en vergelijkbare systemen maak je een branch aan, doe je daar je wijzigingen, en blijft het origineel veilig en stabiel. Zodra het werk klaar en getest is, voeg je de branch weer terug.

Stel je voor dat je een boek schrijft en een kopie opslaat met de naam hoofdstuk-herschrijving voordat je erin gaat hakken. Je experimenteert vrij in die kopie, en als het goed uitpakt vouw je de wijzigingen in het echte manuscript. Pakt het slecht uit, dan gooi je de kopie gewoon weg en liep het origineel nooit gevaar. Een branch geeft ontwikkelaars diezelfde vrijheid om dingen te proberen zonder gevolgen.

Dit is wat een heel team in parallel laat werken. De een bouwt een afrekenflow op zijn branch terwijl de ander een bug fixt op die van hem, en geen van beiden breekt de versie die iedereen deelt. De meeste teams volgen een simpele afspraak: een langlevende main-branch die altijd werkt, en kortlevende feature-branches met een naam die het werk beschrijft, zoals feature/login of fix/cart-total. Als elk stuk klaar is, brengt een merge het terug in de hoofdlijn, meestal nadat iemand anders het heeft beoordeeld. Hoe langer een branch los van main blijft staan, hoe verder de twee uit elkaar lopen en hoe lastiger die merge wordt. Daarom houden de meeste teams branches klein en voegen ze vaak samen. Een branch die drie weken open blijft, vraagt om een vervelende middag conflicten ontwarren.

Bij TopDevs houden we elke nieuwe functie op een eigen branch en beoordelen we die voordat we samenvoegen, zodat de hoofdversie van je software altijd stabiel en uitrolbaar blijft.