Hoe werkt GitHub?

Git is een populair gereedschap voor programmeurs. Het helpt om de verschillende versies van je broncode beter te beheren. Maar wat doen versiebeheersystemen precies, voor wie zijn ze bedoeld en hoe kun je ze gebruiken? Kortom: hoe werkt GitHub? Wij helpen je op weg.

De term versiebeheersysteem heb je vast al eens horen vallen. Meestal gaat het om Git, het bekendste versiebeheersysteem. Vooral als je je bezig houdt met programmeren is het een erg handige tool. Je kunt hiermee nauwgezet veranderingen in je broncode bijhouden of vertakkingen maken om bepaalde functies uit te proberen, om ze later aan het hoofdprogramma toe te voegen.

Het wordt ook veel in teamverband ingezet. Zo wordt Git al sinds 2005 gebruikt voor de ontwikkeling van de Linux-kernel, waar al meer dan 15.000 programmeurs aan hebben bijgedragen! In deze workshop leer je wat een versiebeheersysteem is en wat je er mee kunt.

Waarom Git?

Als je aan broncode werkt, is het erg fijn een back-up van oude versies te hebben. Maar een eenvoudige kopie van al je bestanden is zelden toereikend. Het geeft nauwelijks zicht op veranderingen. Met een versiebeheersysteem kun je veranderingen feitelijk in een soort wachtrij zetten voordat je ze doorzet (‘commit’). De veranderingen kun je een naam geven en onderling vergelijken of combineren. Op deze manier wordt een gedetailleerde geschiedenis van alle veranderingen bijgehouden. Git is het bekendste versiebeheersysteem en hoewel het gemaakt is om code te beheren, is het breed inzetbaar voor alle soorten (tekst)bestanden, waaronder de html-bestanden of templates voor je website.

Git is een gratis en opensource versiebeheersysteem.
Je kunt Git via een opdrachtregel gebruiken, zelfs onder Windows

Hoe werkt Git

Voordat je met Git gaat werken, moet je de tool eenmalig installeren. De software is voor verschillende besturingssystemen beschikbaar. Onder Debian-varianten van Linux volstaat meestal de opdracht:

sudo apt install git

Vanaf de opdrachtregel kun je daarna met git init eenvoudig een zogeheten repository aanmaken en daarna wijzigingen in je broncode bijhouden. Dit kan zelfs volledig offline. De veranderingen worden in een .git-map bijgehouden.

Ook onder Windows kun je Git gebruiken, door de Windows-software te downloaden via de website van Git. Geavanceerde teksteditors bieden vaak een handige integratie met je Git-repository. Een goed voorbeeld is Visual Studio Code. Andere goede softwaresuggesties vind je op www.git-scm.com/download/gui/win.

Onder Windows biedt Git een handige integratie met Verkenner.

Klonen

Je kunt natuurlijk ook een bestaande repository als uitgangspunt nemen. Zo’n repository kun je klonen met de opdracht git clone. Dit voer je uit in je projectenmap. Het gekloonde project wordt dan in een eigen map gezet. Achter de opdracht zet je het adres of de locatie van de originele repository. Dit origineel kan op het lokale bestandssysteem staan maar ook elders, bijvoorbeeld op GitHub. In het laatste geval noemen we het een remote repository. Bij het klonen wordt een lokale kopie op je pc gemaakt en ook een verwijzing naar de originele repository toegevoegd, zodat interactie daarmee mogelijk is. Het klonen is ook een beproefde manier om bepaalde software rechtstreeks vanaf GitHub te installeren.

Clouddiensten

Een nadeel van clouddiensten zoals GitHub is dat je broncode online staat. Je kunt een repository weliswaar privé maken en delen met een select gezelschap, maar daar zul je niet altijd op willen vertrouwen. In 2020 is bijvoorbeeld al eens veel data uit privé repository’s op GitHub gestolen. Bovendien is een foutje snel gemaakt. Je kunt als alternatief simpelweg Git op een server in je netwerk installeren. De repository’s daarop kun je dan als centrale repository gebruiken, die je op afstand kunt benaderen.

Wil je meer features, dan kun je ook je eigen GitHub bouwen met bijvoorbeeld Gitea. Je hebt dan een front-end in de browser voor het bekijken van veranderen, grotendeels vergelijkbaar met GitHub. Door het zelf te hosten, heb je het beheer bovendien volledig in eigen hand. Je hebt geen beperkingen en hoeft niet bang te zijn dat anderen onbedoeld bij je bronbestanden kunnen komen. Wel moet je je eigen installatie zelf beveiligen.

Een gratis account bij GitHub heeft uiteraard allerlei beperkingen.

Samenwerken via GitHub

Zeker als je met meerdere mensen aan een project werkt, is het noodzakelijk om een centrale plek te hebben waar alle wijzigingen worden bewaard. Bij Git noemen we het een remote repository. Een bekend voorbeeld is GitHub, maar ook Bitbucket of GitLab worden gebruikt. GitHub werkt zoals de naam al verklapt samen met Git. Elk teamlid kan zijn aanpassingen met deze remote repository uitwisselen.

Voor jezelf is het gebruik van GitHub ook heel praktisch. Niet alleen heb je een back-up achter de hand, je kunt ook gemakkelijk via een webinterface door al je bronbestanden bladeren en wijzigingen bekijken. Ook kun je extra features benutten, zoals het uitbrengen van releases, bijhouden van problemen of documenteren van je project.

  Vertakkingen maken 

Wil je een nieuwe functie uitwerken los van je hoofdprogramma, dan kun je hiervoor een vertakking aanmaken, ook wel branche genoemd. Zo’n branche kun je later eventueel weer samenvoegen met de hoofd-ontwikkellijn, die we meestal master noemen. Een branche is ook nuttig om een nieuwe versie te ontwikkelen die los staat van de eerdere versie. De nieuwe versie geef je dan bijvoorbeeld alle nieuwe functies, terwijl de oude alleen nog de bugfixes krijgt. De term master wordt steeds meer ingeruild voor main, vanwege de associatie met slavernij.

Bij het werken met Git worden vaak vertakkingen ofwel branches gemaakt.

Geschreven door: Gertjan Groen op

Category: Workshop, Algemeen, Apps

Tags: tips, tool, broncode, programmeren, github