De verschillen tussen Git, Github en Gitlab

Git is niet hetzelfde als GitHub of GitLab heb ik vandaag geleerd. Git is een programma dat je lokaal installeert of al geïnstalleerd hebt (zoals bij Mac het geval is) waarmee het wijzigingen in bestanden worden bijgehouden, een versiebeheersysteem dus. Een zogenoemde Source Code Management system.

Het unieke van Git is dat het ook mogelijk is om branches te maken. Een branch moet je zie als een ‘vertakking’ van de code heb ik me laten vertellen. Er wordt een kopie gemaakt en vervolgens kun je nieuwe code toevoegen of andere experimenten uitvoeren. Pas als je de branche weer merged (samenvoegt met de bovenliggende code) krijg je een het nieuwe stuk code. 

Github daarentegen is volledig cloud-gebaseerd. Het maakt gebruik van de basisprincipes van Git, waaronder het branchen en mergen van code. Het grote voordeel is alleen dat het volledig via de cloud werkt. Dat betekent dus dat je kunt samenwerken met andere ontwikkelaars, die elk een branche kunnen maken van de broncode van de software. Daar kunnen zij vervolgens hun code toevoegen (committeren wordt het ook wel genoemd).

Als zij klaar zijn met hun stukje code, dan verzoeken zij vervolgens met een pull request (of push request, ik weet het even niet meer) om de code te mergen met de bovenliggen bron(code?). Hierdoor kunnen meerdere mensen tegelijk aan een onderdeel van een applicatie werken. Dit kan de snelheid en efficiëntie aanzienlijk verbeteren.