Bold blogt: e-commerce stories from the wild. Gepubliceerd op 13 juli 2023

Advanced git crash course x Pauline Vos

Vorige week donderdag hebben we tijdens de Bold Academy mogen genieten van een presentatie hoe je tijdens het werkproces, voordelen kan halen uit het gebruiken van Atomic Commits!

Weet je, programmeurs zijn eigenlijk net als Marty McFly uit 'Back to the Future' als het gaat om 'atomic commits'. Ze kunnen terug in de tijd reizen, de code veranderen en dan veilig terugkeren naar het heden, zonder dat er paradoxen ontstaan. Het is gewoon een kwestie van de 'git-capacitor' beheersen!

Wacht wat? Een ‘Bold Academy’?

Jazeker! Eens in de zoveel maanden komt er iemand bij ons langs op kantoor om te vertellen over een onderwerp wat onze services, werkproces of algemene kennis kan verbeteren. Dit keer stond de Bold Academy in het thema van ‘Git’ met een presentatie van Pauline Vos.

Voor wie er niet bekend mee is, Atomic commits, ook wel bekend als 'atomic changesets' of 'atomische wijzigingen', verwijzen naar een specifieke manier van het indienen van wijzigingen naar Git.

Stel je voor dat je aan een project werkt met meerdere ontwikkelaars, waarbij elke ontwikkelaar zijn eigen taken en wijzigingen aanbrengt. Het is belangrijk om ervoor te zorgen dat deze wijzigingen op een georganiseerde en samenhangende manier worden ingediend om de integriteit van het project te behouden. Hier komt het concept van atomic commits om de hoek kijken.

Een atomic commit is een commit die als één ondeelbaar geheel wordt beschouwd. Het idee is dat een commit alle benodigde wijzigingen bevat om een bepaalde taak of functionaliteit te voltooien. Het moet op zichzelf staan en mag geen afhankelijkheden hebben van andere commits. Met andere woorden, een atomic commit is een geconsolideerde eenheid van werk die op zichzelf kan functioneren zonder afhankelijk te zijn van andere wijzigingen.

Het belangrijkste voordeel van atomic commits is dat ze de traceerbaarheid en het beheer van wijzigingen vergemakkelijken. Wanneer je een specifieke functie of bugfix moet achterhalen, kun je terugkijken naar de atomic commit die verantwoordelijk is voor die wijziging. Het maakt het eenvoudiger om wijzigingen te begrijpen, te herzien en eventuele problemen op te lossen die zich kunnen voordoen. Bovendien, als er meerdere ontwikkelaars aan het project werken, helpt het gebruik van atomic commits om conflictsituaties bij het samenvoegen van wijzigingen te verminderen.

Hoe helpen Atomic Commits nou weer met het achterhalen van bugs?

Git heeft dus meer commando’s dan fetch, pull, push en commit! De belangrijkste tools die afgestoft kunnen worden na het toepassen van Atomic Commits zijn ‘git rebase’ en ‘git bisect’. Hardstikke handige tools, maar voor meer informatie hierover kun je beter aankloppen bij de Git guru Pauline, die ons deze informatie heeft bijgebracht. Maar we kunnen je natuurlijk wel een tipje van de sluier geven.

Ooit een foutje gemaakt tijdens het uitvoeren van je commits? Probeer eens, git reflog!

De voordelen en het gebruik van git reflog zijn talrijk. Ten eerste biedt het een reddingslijn voor ontwikkelaars die per ongeluk commits verwijderen of branches verplaatsen. Met git reflog kunnen ze teruggaan in de tijd en de commit-SHA's herstellen die bij die acties betrokken waren. Dit helpt bij het voorkomen van gegevensverlies en het snel herstellen van verloren wijzigingen.

Een ander voordeel van git reflog is dat het ontwikkelaars in staat stelt om experimenten uit te voeren en gemakkelijk terug te keren naar een vorige staat. Als je bijvoorbeeld een reset hebt uitgevoerd om terug te gaan naar een eerdere commit, maar later beseft dat je iets belangrijks hebt verwijderd, kan git reflog je helpen bij het vinden van de oorspronkelijke commit en deze herstellen.

Dus, gaan we Atomic Commits toepassen?

Als het aan ons ligt? Zeker! De voordelen hiervan zijn echt talrijk, maar het toepassen is wel wat tricky. Vooral voor mensen die net het landschap beginnen te verkennen, maar die spijkeren we wel bij!