Ga naar hoofdinhoud

GitHub- en Git-tutorial voor beginners

Een beginnershandleiding die laat zien hoe versiebeheer met Git werkt en waarom het cruciaal is voor data science-projecten.
Bijgewerkt 1 jun 2026  · 9 min lezen

Afbeelding door auteur

Wat is Git?

Git is een gedistribueerd, open-source versiebeheersysteem. Het stelt ontwikkelaars en data scientists in staat om code bij te houden, wijzigingen samen te voegen en terug te gaan naar oudere versies - AWS. Het laat je wijzigingen synchroniseren met een externe server. Door zijn flexibiliteit en populariteit is Git een industriestandaard geworden, omdat het vrijwel alle ontwikkelomgevingen, commandoregeltools en besturingssystemen ondersteunt. 

Hoe werkt Git?

Git slaat je bestanden en hun ontwikkelgeschiedenis op in een lokale repository. Telkens wanneer je wijzigingen opslaat, maakt Git een commit. Een commit is een momentopname van de huidige bestanden. Deze commits zijn met elkaar verbonden en vormen samen een ontwikkelgeschiedenisgrafiek, zoals hieronder te zien is. Hierdoor kunnen we teruggaan naar de vorige commit, wijzigingen vergelijken en de voortgang van het ontwikkelproject bekijken - Azure DevOps. De commits worden geïdentificeerd door een unieke hash die wordt gebruikt om de aangebrachte wijzigingen te vergelijken en terug te draaien.  

Een grafiek van de ontwikkelgeschiedenis

Een grafiek van de ontwikkelgeschiedenis

Branches

Branches zijn kopieën van de broncode die parallel werken aan de hoofdversie. Om de aangebrachte wijzigingen op te slaan, voeg je de branch samen met de hoofdversie. Deze functionaliteit bevordert conflictvrij teamwork. Elke ontwikkelaar heeft zijn/haar taak en met branches kunnen ze aan de nieuwe feature werken zonder inmenging van andere teamgenoten. Als de taak is voltooid, kun je de nieuwe features samenvoegen met de hoofdversie (master-branch). Wil je leren hoe je een branch kloont, bekijk dan deze tutorial over Git Clone Branch.

Nieuwe feature toevoegen aan repository
Nieuwe feature toevoegen aan repository 


Commits

Er zijn drie toestanden van bestanden in Git: modified, staged en commit. Wanneer je wijzigingen aanbrengt in een bestand, worden de wijzigingen opgeslagen in de lokale map. Ze maken dan nog geen deel uit van de Git-ontwikkelgeschiedenis. Om een commit te maken, moet je gewijzigde bestanden eerst stagen. Je kunt wijzigingen toevoegen of verwijderen in de staging area en ze vervolgens verpakken als een commit met een bericht dat de wijzigingen beschrijft.  

Drie toestanden van bestanden in Git
Drie toestanden van bestanden in Git

Wat zijn de voordelen van Git?

  • Wijzigingen bijhouden: hiermee kunnen ontwikkelaars historische wijzigingen bekijken. De ontwikkelgeschiedenis maakt het eenvoudiger om bugs te identificeren en op te lossen.
  • IDE-integratie: door zijn populariteit is Git-integratie beschikbaar in alle ontwikkelomgevingen, bijvoorbeeld VSCode en JupyterLab.
  • Samenwerking in teams: een developmentteam kan de voortgang bekijken en met branches individueel aan een taak werken en wijzigingen samenvoegen met de hoofdversie. Pull requests, het oplossen van merge-conflicten en code review bevorderen team­samenwerking. 
  • Gedistribueerd VCS: in een gedistribueerd systeem is er geen gecentraliseerde bestandsopslag. Er zijn meerdere back-ups voor hetzelfde project. Deze aanpak stelt ontwikkelaars in staat offline te werken en wijzigingen te committen. 

Git voor data science-projecten

Git levert versiebeheer voor scripts, metrics, data en modellen. Met de Git-extensie git-lfs kun je een grote database en machinelearningmodellen opslaan en versiebeheer toepassen. In een typisch data science-project heb je een Jupyter-notebook, dataset, model, metadata en modelmetrics. De metadata omvatten bestanden met meta-informatie over het machinelearningmodel, features, modelparameters en automatiseringsbestanden. Dit alles is nodig om de voortgang van AI-toepassingen te monitoren en problemen op te lossen. 

Het bijhouden van data science-experimenten helpt wetenschappers om per ongeluk aangebrachte wijzigingen terug te draaien, het beste experiment te selecteren op basis van de prestatiemetric en samen te werken met andere teamleden. Het onderstaande diagram laat zien hoe wijzigingen in data of code de metadata en de output van het model beïnvloeden. Het volgen van deze wijzigingen kan andere teamleden ook helpen om met een betere oplossing te komen. Leer alles over Git in de nieuwste blog van Summer Worsley.

Git voor een data science-project
Git voor een data science-project 

Samenwerken met GitHub

GitHub is een cloudplatform voor softwareontwikkeling. Het wordt vaak gebruikt voor het opslaan van bestanden, het bijhouden van wijzigingen en het samenwerken aan ontwikkelprojecten. De afgelopen jaren is GitHub het populairste sociale platform geworden voor communities rond softwareontwikkeling. Individuen kunnen bijdragen aan open-sourceprojecten en bugrapporten, nieuwe projecten bespreken en nieuwe tools ontdekken. 

Data scientists en machine learning engineers volgen het pad van softwareontwikkelaars en integreren de workflow met GitHub. Zo kunnen ze hun onderzoekswerk delen, community-bijdragen mogelijk maken en samenwerken met datateams. Je vindt op dit platform allerlei data science- en machinelearningprojecten, gidsen, tutorials en resources. Voor studenten is het platform een kans geworden om werkervaring op te doen en uiteindelijk een baan te krijgen bij een prestigieus bedrijf. 

Portfolio

De meeste technische recruiters vragen om portfolio­projecten of een GitHub-profiel. Dit helpt hen bepalen of een kandidaat goed past bij hun bedrijf. Het is sterk aan te raden om een GitHub-profiel aan te maken en het regelmatig bij te werken. Hiring managers zijn altijd op zoek naar kandidaten met veel ervaring in softwareontwikkeling die bijdragen aan open-sourceprojecten. Het kunnen analyseren van het GitHub-portfolio helpt hen vragen voor te bereiden voor technische interviewsessies. 

GitHub-profiel
GitHub profiel

GitHub stelt data scientists in staat hun projecten te laten zien, en het kan ook meetellen als werkervaring op je cv. Het tonen van portfolioprojecten creëert ook kansen om samen te werken, een startup te lanceren en onderzoek te doen. 

Portfolioprojecten
Portfolioprojecten

Functies

GitHub biedt ook diverse andere functies die minstens zo belangrijk zijn als het tonen van een portfolio. Het is nodig om elke functie te leren kennen zodat je ze kunt opnemen in je data science-projecten. 

  • Open-source: GitHub biedt een compleet ecosysteem voor open-sourceprojecten. Je kunt maintainers sponsoren, aan een project bijdragen, de open-sourcetool in je bestaande project gebruiken en je werk promoten. 
  • Community­samenwerking: GitHub is een communityplatform geworden waar issues, feature requests, code- en documentatiebijdragen besproken kunnen worden. 
  • Explore: de GitHub Explore-tab helpt je nieuwe projecten, trending tools en ontwikkelaarsevenementen te ontdekken. 
  • GitHub Gists: je kunt een snippet van je code delen of insluiten in een blog of website. 
  • GitHub CLI: hiermee kun je merge requests uitvoeren, code reviewen, issues checken en de voortgang monitoren vanuit de commandoregel. 
  • Gratis opslag: onbeperkte opslag voor privé- en openbare repositories.
  • Webhosting: je kunt je portfoliowebsite of documentatie publiceren. GitHub Pages biedt een eenvoudige ervaring voor het bouwen en deployen van een website. 
  • Codespace: een cloudontwikkelomgeving geïntegreerd met je GitHub-repository. 
  • Project: een aanpasbare, flexibele tool voor het plannen en bijhouden van het werk op GitHub.
  • Automatisering: GitHub Action automatiseert de ontwikkelworkflow zoals build, test, publish, release en deployment.
  • Sponsoren: je kunt je favoriete open-sourceproject of ontwikkelaars steunen met een maandelijkse of eenmalige bijdrage. Het stelt ontwikkelaars ook in staat om externe betaalplatforms zoals ko-fi te gebruiken. 

Basiscommando's

Voordat we data science-projecten gaan beheren, leren we eerst de meest gebruikte Git-commando's die je in elk data science-project zult gebruiken. De basiscommando's omvatten het initialiseren van de Git-repository, wijzigingen opslaan, logs checken, wijzigingen naar de externe server pushen en mergen. 

  • git init maakt een Git-repository in een lokale map.
  • git clone <adres-van-remote-repo>: kopieer de volledige repository van een externe server naar een lokale map. Je kunt het ook gebruiken om lokale repositories te kopiëren.
  • git add <bestand.txt>: voeg één bestand of meerdere bestanden en mappen toe aan de staging area.
  • git commit –m “Bericht”: maak een momentopname van wijzigingen en sla die op in de repository. 
  • git config gebruiken om gebruiker­s­specifieke configuraties zoals e‑mail, gebruikersnaam en bestandsformaat in te stellen. 
  • git status toont de lijst met gewijzigde bestanden of bestanden die nog moeten worden gestaged en gecommit.  
  • git push <remote-naam> <branch-naam>: stuur lokale commits naar de externe branch van de repository.  
  • git checkout -b <branch-naam>: maakt een nieuwe branch en schakelt ernaartoe.
  • git remote –v: bekijk alle externe repositories.
  • git remote add <remote-naam> <host-of-remoteURL>: voeg een externe server toe aan de lokale repository. 
  • git branch –d <branch-naam>: verwijder de branch.
  • git pull voegt commits samen naar een lokale map vanaf een externe repository. 
  • git merge <branch-naam>: na het oplossen van merge-conflicten voegt dit commando de geselecteerde branch samen met de huidige branch.
  • git log toon een gedetailleerde lijst met commits voor de huidige branch.

Volledige ontwikkeling met GitHub
Volledige ontwikkeling met GitHub

Als je meer commando's wilt leren, bekijk dan de Git-cheatsheet van Gitlab. 

Aan de slag

In deze sectie gaan we Git gebruiken om een data science-project bij te houden en GitHub als externe server. We leren hoe we Git installeren, een repository op GitHub aanmaken en klonen, machinelearning­experimenten uitvoeren en wijzigingen (notebook, model, data) naar GitHub pushen met Windows PowerShell 7.  

Git installeren

Git ondersteunt alle besturingssystemen. Je kunt het installeren met commandoregeltools of door de setup direct te downloaden en te installeren. 

Linux

Voor Debian/Ubuntu-gebaseerde besturingssystemen gebruik je `apt-get install git`, en als je een ander Linux-systeem gebruikt, bekijk dan de volledige lijst met installatiecommando's hier.

macOS

Als je homebrew hebt geïnstalleerd, gebruik dan dit commando om Git te downloaden en te installeren: `brew install git`. Je kunt ook de binaire installer downloaden en de setup uitvoeren.

Windows

Git installeren op Windows is eenvoudig. Ga naar de downloadpagina, klik op de specifieke Windows-versie en download en installeer de setup. Als je de winget-tool hebt, kun je installeren door `winget install --id Git.Git -e --source winget` te typen in PowerShell. 

Controleer na het installeren van Git of je de gebruikersnaam en e‑mail hebt geconfigureerd. Deze informatie wordt gebruikt om commits te ondertekenen. 

git config --global user.name "your-user-name"
git config --global user.email "your@email.com"

Voor meer diepgaande informatie over het installeren van Git, klik hier

Het project initialiseren

Als je een GitHub-account hebt, klik dan op de +-knop en selecteer een nieuwe repository. Typ daarna de naam van de repository en voeg een korte beschrijving toe. Er wordt een lege openbare repository aangemaakt. 

Project aanmaken
Project aanmaken

Er zijn veel manieren om externe repositories naar de lokale map te klonen, en GitHub biedt een gedetailleerde gids over het klonen, toevoegen van een remote en het initialiseren van een Git-project.  

GitHub-klonen
GitHub-klonen

We kunnen de repository eenvoudig klonen door een HTTPS-link op te geven. Zorg dat je je in de werkmap bevindt via de commandoregel of PowerShell. 

git clone https://github.com/kingabzpro/DataCamp-Git.git

>>> Cloning into 'DataCamp-Git'...
>>> warning: You appear to have cloned an empty repository.

cd .\DataCamp-Git\

OF

Maak een nieuwe map met de naam “DataCamp-Git” en initialiseer Git met een eenvoudig commando. Voeg daarna een verbinding toe met de externe repository zodat je je werk kunt synchroniseren met GitHub.

mkdir DataCamp-Git
cd .\DataCamp-Git
git init

>>> Initialized empty Git repository in C:/Repository/GitHub/DataCamp-Git/.git/

git remote add origin https://github.com/kingabzpro/DataCamp-Git.git

OF

Als je al een project in een map hebt, initialiseer dan gewoon Git met `git init` en voeg de GitHub-remote toe, zoals hierboven getoond. 

Eenvoudige commit

Voordat we bestanden aan onze repository toevoegen, zorg dat je in de juiste lokale map zit. 

We beginnen eenvoudig en maken een README-bestand met de kop DataCamp-Git. Daarna voegen we het toe aan de staging area met `git add`. 

echo "# DataCamp-Git" >> README.md
git add README.md

Git status laat zien dat we op de main-branch zitten en dat het bestand `README.md` is gestaged en klaar is om gecommit te worden.  

git status

>>> On branch main
>>> No commits yet
>>> Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

Om onze eerste commit te maken, gebruiken we `git commit` met een bericht. Zoals we kunnen zien, is de eerste commit toegevoegd onder de hash ed9c886.

git commit -m "first commit"

>>> [main (root-commit) ed9c886] first commit
>>> 1 file changed, 1 insertion(+)
>>> create mode 100644 README.md

Projectbestanden toevoegen

We gebruiken de DataCamp Workspace MasterCard Stock Price with LSTM and GRU en downloaden bestanden. De auteur van het project heeft de data al voorbewerkt en tijdreeksdata getraind op de LSTM- en GRU-modellen. Lees meer over het project in de Recurrent Neural Network Tutorial (RNN).

Om het modelbestand op te slaan, hebben we een nieuwe codecel toegevoegd in het Jupyter-notebook van het project. Het nieuwe script maakt een nieuwe map “model” en slaat zowel LSTM- als GRU-modellen op. 

!mkdir -p model
model_lstm.save('model/LSTM')
model_gru.save('model/GRU')

Zoals we zien, heeft de Git-repository een datamap met CSV-bestanden en de modelmap met het gewicht en de metadata van het model. 

Git-datamap

We gaan nu alle bestanden stagen. Je kunt na het initiële commando elke map, elk bestand of data toevoegen. 

git add .\data .\model LSTM_GRU.ipynb RNN.png

OF

Als je alle bestanden aan de staging area wilt toevoegen, gebruik dan een punt. 

git add .

Committen en pushen

We committen alle wijzigingen met een eenvoudig bericht, en de uitvoer toont alle nieuwe bestanden in create-modus. 

git commit -m "project files added"

>>> [main aa3e19a] project files added
>>>  10 files changed, 5020 insertions(+)
>>>  create mode 100644 LSTM_GRU.ipynb
>>>  create mode 100644 RNN.png
>>>  create mode 100644 data/Mastercard_stock_history.csv
>>>  create mode 100644 data/Mastercard_stock_info.csv
>>>  create mode 100644 model/GRU/saved_model.pb
>>>  create mode 100644 model/GRU/variables/variables.data-00000-of-00001
>>>  create mode 100644 model/GRU/variables/variables.index
>>>  create mode 100644 model/LSTM/saved_model.pb
>>>  create mode 100644 model/LSTM/variables/variables.data-00000-of-00001
create mode 100644 model/LSTM/variables/variables.index

Synchroniseren met de externe GitHub-repository vereist een remotenaam en branchenaam `git push <remote-naam> <branch-naam>`. Als je maar één remote en één branch hebt, volstaat `git push`.  

Na `git push` verschijnt er een pop-upvenster dat om inloggegevens vraagt; voer je GitHub-gebruikersnaam en wachtwoord in. Je kunt ook Personal access tokens genereren en die gebruiken in plaats van het wachtwoord. Lees meer in de Git Push and Pull Tutorial.

git push

>>> Enumerating objects: 21, done.
>>> Counting objects: 100% (21/21), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (19/19), done.
>>> Writing objects: 100% (21/21), 1.83 MiB | 1.59 MiB/s, done.
>>> Total 21 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: Resolving deltas: 100% (2/2), done.
>>> To https://github.com/kingabzpro/DataCamp-Git.git
>>>  * [new branch]      main -> main

We gaan onze GitHub-repository kingabzpro/DataCamp-Git controleren om te zien of we de wijzigingen succesvol naar de remote hebben gepusht. De GitHub-repository bevat alle bestanden, data en modellen.

Remote push naar GitHub
Remote push naar GitHub

Git-branches

Het is aan te raden om met branches te werken: wil je bijvoorbeeld aan de projectdocumentatie werken, maak dan een documentation-branch met `git checkout` of `git branch`. Breng wijzigingen aan in het README-bestand en wanneer je de wijzigingen hebt afgerond, merge je de branch met de basis. 

In ons geval hebben we een nieuwe branch `readme` gemaakt en daarnaartoe geschakeld.

git checkout -b readme

Laten we het README-bestand bewerken door een beschrijving aan het project toe te voegen en de RNN DataCamp Workspace en tutorial te linken. Daarna stagen we de wijzigingen en slaan we een momentopname van de wijzigingen op met een bericht.

git add README.md
git commit -m "project description and links to blog"

>>> [readme f3b8b9b] project description and links to blog
>>>  1 file changed, 8 insertions(+)

De externe repository heeft nog geen readme-branch. Om een nieuwe branch te maken en wijzigingen te pushen, gebruiken we “readme:readme”. De uitvoer van het commando laat zien dat er nieuwe branches zijn aangemaakt en dat zowel de lokale als externe `readme`-branch zijn gesynchroniseerd. 

git push origin readme:readme
>>> remote: Resolving deltas: 100% (1/1), completed with 1 local object.
>>> remote: Create a pull request for 'readme' on GitHub by visiting:
>>> remote:  https://github.com/kingabzpro/DataCamp-Git/pull/new/readme
>>> remote:
To https://github.com/kingabzpro/DataCamp-Git.git
>>>  * [new branch]      readme -> readme

Je ziet dat we de lokale branch met succes naar GitHub hebben gepusht met een gewijzigde versie van het bestand README.md. 

Readme-branch op GitHub
Readme-branch op GitHub

Pull request

Deze functionaliteit is gebruikelijk voor organisaties. Bijvoorbeeld: een softwareontwikkelaar heeft aan een nieuwe feature gewerkt en wil wijzigingen mergen met de hoofdbranch op de remote. We maken nu pull requests met de GitHub-GUI door op de knop Pull request te klikken. Selecteer daarna de readme-branch die we willen mergen met de basis (main). Je kunt een uitgebreide uitleg typen over welke features zijn toegevoegd en op de knop Pull request klikken. 

Pull request van readme naar main-branch
Pull request van readme naar main-branch

De maintainer van de repository vergelijkt je wijzigingen en voegt ze samen wanneer alle tests zijn geslaagd. In ons geval ben jij de maintainer, dus klik op de merge request om wijzigingen samen te voegen met de main-branch. 

GitHub Merge Pull Request
Merge pull request op GitHub

Gefeliciteerd, we hebben met succes een pull request aangemaakt en gemerged met de main-branch. Je kunt de wijzigingen op de main-branch hier bekijken. 

Als je alle wijzigingen in je git-repository wilt bekijken, typ dan `git log`; hiermee zie je de historische wijzigingen in je project. Het loggen van wijzigingen in data science-projecten is belangrijk, en Git helpt ons om alle wijzigingen bij te houden, zelfs grote datasets. 

Geschiedenis van Git-logs
Geschiedenis van Git-logs

Conclusie

GitOps zijn cruciaal voor de ontwikkeling van data-applicaties. Ze zijn een essentiële vaardigheid geworden voor alle soorten IT-banen; zelfs academische onderzoekers gebruiken ze om experimentele code met een breder publiek te delen. GitHub speelt op zijn beurt een grotere rol bij het promoten van open-sourceprojecten door een gratis ecosysteem voor softwareontwikkeling aan iedereen te bieden. 

In deze tutorial hebben we geleerd over Git en GitHub en waarom ze belangrijk zijn voor data science-projecten. De tutorial introduceert je ook in basis Git-commando's en geeft hands-on ervaring met het bijhouden van wijzigingen in data, model en code. Als je meer wilt leren over Git, volg dan de cursus Introduction to Git op DataCamp. Je kunt ook leren over het belang van GitHub-certificering en hoe dit je carrière kan helpen. 



Git-veelgestelde vragen

Wat is Git?

Een open-source, gedistribueerd versiebeheersysteem. Het stelt ontwikkelaars in staat om wijzigingen in een ontwikkelproject op te slaan, te versioneren en te visualiseren. Het bevordert flexibel teamwork en een geoptimaliseerde workflow. 

Waar staat Git voor?

Het is geen acroniem. Volgens de bedenker, Linus Torvalds, “kan Git alles betekenen, afhankelijk van je stemming.” Het is een combinatie van drie willekeurige letters die door geen enkel UNIX-commando worden gebruikt.  

Hoe kloon ik een Git-repository?

Typ simpelweg `git clone <adres van externe repository>` in een terminal. Je kunt zowel lokale als externe repositories klonen. Zowel SSH- als HTTPS-protocollen worden ondersteund.

Hoe verwijder ik een branch in Git?

Voor het verwijderen van een lokale branch gebruik je `git branch -d <naam_van_lokale_branch>`, en voor het verwijderen van de externe branch gebruik je `git push <naam_van_remote> -d <naam_van_remote_branch>`.

Hoe wissel ik van branch in Git?

Schakel over naar een bestaande branch met `git checkout <branchenaam>` of maak en schakel over naar een nieuwe branch met `git checkout -b <branchenaam>`.

Hoe installeer ik Git?

Voor Linux-systemen gebruik je `apt-get install git`, en voor andere besturingssystemen zie git-scm.com.

Is Git gratis?

Ja, het is gratis en open-source onder de GPL-2.0-licentie.

Wat is Git Bash?

Het is een Microsoft Windows-applicatie die Unix-gebaseerde shelltools & -ervaring biedt. 

Hoe maak ik een nieuwe branch in Git?

Gebruik het commando `git branch <nieuwe-branch> <basis-branch>` in de terminal. Om een nieuwe branch te maken en er meteen naartoe te schakelen, gebruik je `git checkout -b <branchenaam>`.

Wat doet git pull?

Het werkt de lokale versie van een repository bij vanaf een externe server, kopieert alle wijzigingen van een externe repository en voegt ze samen met de lokale map. Dit proces vereist vaak het oplossen van merge-conflicten. 

Hoe fork ik een repo in Git?

Forken in GitHub is het proces waarbij je een kopie van een repository maakt naar de GitHub-account van de gebruiker vanaf een andere account. Dit gebeurt meestal voor community-bijdragen of teamwork. 

Hoe hernoem ik een branch in Git?

Voor de lokale repository is het eenvoudig: gebruik `git branch -m <oude-naam> <nieuwe-naam>`. Voor het hernoemen van een externe branch moeten we eerst de oude branch verwijderen met `git push origin --delete <oude-naam>` en daarna de nieuwe branch pushen met `git push -u origin <nieuwe_naam>`.

Hoe verwijder ik de Git-repository?

Je kunt de lokale map verwijderen of de .git-map verwijderen met `rm -fr .git`. Voor GitHub ga je naar de repository-instellingen, en onderaan de pagina zie je de verwijderoptie.

Hoe installeer ik Git op Windows?

Download de Windows-setup vanaf de site en voer de installatie uit; hierdoor worden Git Bash, Git CDM en Git GUI geïnstalleerd.

Hoe draai ik een commit terug in Git?

Gebruik `git revert <commit sha>`, waarvoor een unieke hashcode van een eerdere commit nodig is. Je kunt ook `git revert HEAD~2` gebruiken; dit betekent twee commits achter de head.   

Onderwerpen
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien