Hoofdstuk 1 van 5

Git-tutorial: Git installeren en configureren (Windows, macOS, Linux)

geverifieerd op 7 september 2026 · 8 min

Kort antwoord

Installeer Git met de pakketbeheerder van je systeem en zet daarna drie dingen goed: je identiteit met git config --global user.name en user.email, de naam van de standaardbranch met init.defaultBranch main, en de authenticatie via een SSH-sleutel. Het wachtwoord van je GitHub-account werkt sinds 13 augustus 2021 niet meer.

Dit hoofdstuk installeert Git, zet de drie instellingen goed zonder welke je eerste commit geweigerd wordt, en regelt de authenticatie bij GitHub of GitLab. Reken op een kwartier, de SSH-sleutel inbegrepen.

Kom je hier rechtstreeks binnen: het verschil tussen Git en GitHub en het volledige traject staan in de inleiding van deze tutorial.

Git installeren

Op macOS en Linux staat Git waarschijnlijk al op je machine. Controleer dat voor je iets installeert:

bash
git --version

Antwoordt het commando met een versienummer, dan is Git geïnstalleerd en kun je door naar de configuratie. Meldt het dat het commando onbekend is, volg dan de sectie van jouw systeem.

Windows

Het eenvoudigst is de pakketbeheerder die in Windows zelf zit:

bash
winget install --id Git.Git -e --source winget

Download anders het installatieprogramma op git-scm.com/install/windows en laat de standaardopties staan. De laatste versie op het moment van deze controle is Git for Windows 2.55.0(5), van 20 augustus 2026. De installatie levert Git Bash mee, een terminal die de Unix-omgeving nabootst. Gebruik die in plaats van de opdrachtprompt: alle commando’s uit deze tutorial werken er zonder aanpassing.

macOS

Git zit bij de commandoregelprogramma’s van Xcode. De eerste keer dat je git aanroept, biedt macOS aan ze te installeren, je kunt de installatie ook zelf afdwingen:

bash
xcode-select --install

Die versie is betrouwbaar, maar loopt vaak een paar maanden achter op de officiële. Wil je bij blijven, gebruik dan Homebrew:

bash
brew install git

Linux

Gebruik de pakketbeheerder van je distributie.

bash
# Debian, Ubuntu en afgeleiden
sudo apt update && sudo apt install git

# Fedora, RHEL, Rocky
sudo dnf install git

# Arch
sudo pacman -S git

# Alpine
sudo apk add git

De geïnstalleerde versie hangt af van je distributie, en het verschil is soms groot. De versies die op 7 september 2026 zijn gemeten staan in de sectie ‘Gemeten resultaat’ onderaan dit hoofdstuk. Ubuntu 24.04 levert Git 2.43, uitgebracht eind 2023: dat is ruim voldoende voor alles in deze tutorial, want de nieuwste commando’s die we gebruiken dateren van Git 2.23.

Jezelf bekendmaken: naam en e-mailadres

Git schrijft de auteur van elke commit in de geschiedenis. Zolang je hem niet hebt verteld wie je bent, weigert hij ook maar iets vast te leggen:

Sortie réelle · git commit sans identité configurée
Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@23d1d26b6831.(none)')

Zet die twee waarden dus als eerste goed:

bash
git config --global user.name "Damien Flandrin"
git config --global user.email "dam@example.com"

De optie --global schrijft naar je persoonlijke bestand en geldt voor al je projecten. Zonder die optie geldt de instelling alleen voor de huidige repository, wat handig is als je op sommige projecten een zakelijk adres gebruikt en op andere een privéadres.

Gebruik een adres dat je publiek durft te maken: het komt in de geschiedenis terecht, en die geschiedenis wordt verspreid onder iedereen die het project kloont. GitHub biedt een vervangend adres op @users.noreply.github.com als je het jouwe liever niet prijsgeeft.

De naam van de standaardbranch kiezen

Hierover circuleert de meeste onjuiste informatie. Je leest vaak dat Git tegenwoordig een branch main aanmaakt. Dat klopt niet. Dit is wat git init oplevert met Git 2.55, de actuele versie in september 2026:

Sortie réelle · git init sans configuration préalable
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /root/a1/.git/

De branch heet dus wel degelijk master, en Git kondigt zelf aan dat de standaard vanaf versie 3.0 naar main gaat. Wat wel veranderd is, zijn de hosters: GitHub maakt nieuwe repositories aan met een branch main sinds oktober 2020, GitLab sinds versie 14. Vandaar het permanente verschil tussen wat je machine doet en wat de server doet.

Regel de kwestie in één keer voorgoed:

bash
git config --global init.defaultBranch main

De melding verdwijnt en repositories die je daarna aanmaakt starten op main. Let op: die instelling geldt uitsluitend voor nieuwe repositories. Voor een repository die al bestaat en waarvan de branch master heet:

bash
git branch -m master main

Je configuratie controleren

Drie commando’s volstaan om te weten waar je staat:

bash
git config --global --list                # wat er ingesteld is
git config --global --list --show-origin  # en in welk bestand
git config --global --edit                # het bestand openen

De persoonlijke configuratie is gewoon een tekstbestand, ~/.gitconfig, dat je rechtstreeks kunt lezen en aanpassen:

~/.gitconfig
[user]
	name = Damien Flandrin
	email = dam@example.com
[init]
	defaultBranch = main

Twee extra instellingen zet je het beste meteen goed. Om te beginnen de editor die Git voor commitberichten gebruikt, anders beland je vroeg of laat in Vim zonder te weten hoe je er weer uit komt:

bash
git config --global core.editor "code --wait"   # Visual Studio Code
git config --global core.editor "nano"          # of een willekeurige terminaleditor

En het gedrag van git pull, dat we uitwerken in het hoofdstuk over branches:

bash
git config --global pull.rebase true

Authenticeren bij GitHub of GitLab

Hier hoort een stuk terminologie bij, want het kost beginners veel tijd. Je GitHub-wachtwoord dient nergens meer toe voor Git. GitHub accepteert sinds 13 augustus 2021 geen accountwachtwoorden meer voor Git-operaties. Dit antwoordt de server als je het toch probeert:

Sortie réelle · clone HTTPS avec un mot de passe
Cloning into 'depot-prive'...
remote: Invalid username or token. Password authentication is not supported for Git operations.
fatal: Authentication failed for 'https://github.com/damienflandrin/depot-prive.git/'

Er blijven twee geldige methodes over: de SSH-sleutel of het personal access token. De SSH-sleutel kost vijf minuten om op te zetten en vraagt daarna nooit meer iets. Die raden we aan.

Een SSH-sleutel aanmaken

bash
ssh-keygen -t ed25519 -C "dam@example.com"

Bevestig het voorgestelde pad. De passphrase is optioneel maar aanbevolen: ze beschermt de sleutel als je machine gecompromitteerd raakt.

Sortie réelle · ssh-keygen
Generating public/private ed25519 key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_ed25519
Your public key has been saved in /root/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:s5YjDRbNgv3/o8SvEFh4A6hzpWddSsquX0l0k4aUptw dam@example.com

Er zijn twee bestanden aangemaakt. id_ed25519 is de privésleutel: die verlaat je machine nooit, wordt nergens gekopieerd en gaat in geen enkel formulier. id_ed25519.pub is de publieke sleutel, degene die je aan de server toevertrouwt.

Toon de publieke sleutel en kopieer de hele regel:

bash
cat ~/.ssh/id_ed25519.pub
Sortie réelle · contenu de la clé publique
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINjiBkboRdOPXk2UWn3UUMSv2qr8G9cGvzKsTd+ZyYCa dam@example.com

Plak hem daarna in Settings > SSH and GPG keys > New SSH key op GitHub, of in Voorkeuren > SSH-sleutels op GitLab.

Controleren of de sleutel werkt

bash
ssh -T git@github.com

Bij de eerste verbinding moet je de fingerprint van de server bevestigen. Die van GitHub voor Ed25519-sleutels is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU, vergelijk hem met wat GitHub publiceert voor je yes antwoordt. Klopt alles, dan stuurt GitHub een welkomstbericht met je gebruikersnaam erin, met de vermelding dat shell-toegang niet is toegestaan, dat is normaal. Krijg je in plaats daarvan:

Sortie réelle · clé non enregistrée chez GitHub
git@github.com: Permission denied (publickey).

dan staat de publieke sleutel niet op je account, of heb je per ongeluk de privésleutel geplakt.

Het alternatief: het personal access token

Is SSH geblokkeerd op je netwerk, of werk je in een script voor continue integratie, gebruik dan een personal access token. Op GitHub maak je dat aan in Settings > Developer settings > Personal access tokens, bij voorkeur als token met fijne scope (fine-grained): dat beperkt de toegang tot één repository en verloopt vanzelf. Op GitLab vind je het equivalent in Voorkeuren > Toegangstokens.

Het token gebruik je in plaats van het wachtwoord wanneer Git erom vraagt. Om het niet bij elk commando opnieuw te typen, zet je een credential helper aan:

bash
git config --global credential.helper store    # simpel, maar het token staat leesbaar op schijf
git config --global credential.helper osxkeychain  # macOS, opslag in de sleutelhanger

Op Windows wordt Git Credential Manager standaard meegeïnstalleerd en ingeschakeld met Git for Windows.

Behandel een token precies als een wachtwoord: het hoort niet in een repository, niet in een configuratiebestand onder versiebeheer en niet in een URL die je deelt.

Je machine is klaar. Het volgende hoofdstuk maakt een repository aan op GitHub of GitLab en koppelt die aan een map op je machine.

Gemeten resultaat

Git-versie die de pakketbeheerder installeert op de officiële image van elke distributie, gemeten op 7 september 2026:

Systeem Git-versie
Debian 12 « bookworm » 2.39.5
Debian 13 « trixie » 2.47.3
Ubuntu 22.04 2.34.1
Ubuntu 24.04 2.43.0
Fedora 44 2.55.0
Alpine (edge) 2.55.0
Git for Windows 2.55.0(5)

Ze voldoen allemaal: het nieuwste commando in deze tutorial, git switch, dateert van Git 2.23.

Veelgemaakte fouten

Author identity unknown Git weigert elke commit zolang user.name en user.email niet zijn ingesteld. Draai beide git config --global-commando's voor je eerste commit.
Password authentication is not supported GitHub accepteert sinds 13 augustus 2021 geen accountwachtwoord meer voor Git-operaties. Gebruik een SSH-sleutel of een personal access token.
Permission denied (publickey) De publieke sleutel staat niet op je account, of je hebt de privésleutel geplakt. Alleen het bestand dat op .pub eindigt gaat in de interface.
De instelling init.defaultBranch lijkt geen effect te hebben Ze geldt alleen voor repositories die je daarna aanmaakt. Hernoem de branch in een bestaande repository met git branch -m master main.
Nieuwsbrief

Nieuwe tests, tutorials en projecten, per e-mail.

Reproduceerbare tests, geversioneerde code, gedateerde resultaten. Nooit spam.