Skip to content

Git Commando's Cheat Sheet

Git is een open-source gedistribueerd versiebeheersysteem dat versiebeheer van projecten van zeer klein tot zeer groot efficiënt en met hoge snelheid kan afhandelen. Git is open-source versiebeheersoftware ontwikkeld door Linus Torvalds om te helpen bij het beheer van de ontwikkeling van de Linux-kernel.

Git Basis

git init <directory>

Maakt een lege Git-repository aan in de opgegeven map. Indien uitgevoerd zonder parameters, wordt de huidige map geïnitialiseerd als een Git-repository.

git clone <repo>

Kloont de repository op <repo> naar de lokale machine. De originele repository kan zich op het lokale bestandssysteem bevinden of op een remote machine via HTTP of SSH.

git config user.name <name>

Definieert de auteursnaam die moet worden gebruikt voor alle commits in de huidige repository.

git add <directory>

Voegt de wijzigingen in <directory> toe voor de volgende commit.

git commit -m "<message>"

Commit de gestagede snapshot, met <message> als commit-bericht.

git status

Geeft een lijst van bestanden die gestaged, niet gestaged en niet gevolgd zijn.

git log

Toont de volledige commit-geschiedenis met de standaardindeling.

git diff

Vergelijkt de verschillen tussen de werkmap (nog niet git add uitgevoerd) en de staging area (na git add).

Wijzigingen ongedaan maken

git revert <commit>

Maakt een nieuwe commit aan die alle wijzigingen in <commit> ongedaan maakt en past deze toe op de huidige branch.

git reset <file>

Verwijdert <file> uit de staging area maar houdt de werkmap ongewijzigd. Dit haalt een bestand uit de staging area zonder wijzigingen te overschrijven.

git clean -n

Toont welke bestanden uit de werkmap zullen worden verwijderd. Gebruik de vlag -f in plaats van de vlag -n om de opschoning uit te voeren.

Geschiedenis herschrijven

git commit --amend

Wijzigt de meest recente Git-commit. Als de werkmap wijzigingen bevat die gecommit kunnen worden, worden die wijzigingen ook gecommit bij gebruik van de opdracht git commit –amend.

git rebase <base>

Reset de huidige branch naar <base>. <base> kan een commit-ID, branchnaam, tag of HEAD zijn.

git reflog

Maakt het mogelijk om alle bewerkingsrecords van alle branches te bekijken (inclusief verwijderde commit-records en reset-bewerkingen).

Git Branching

git branch

Geeft een lijst van alle branches. Voeg een parameter <branch> toe om een nieuwe branch met de naam <branch> aan te maken.

git checkout -b <branch>

Maakt een nieuwe branch aan met de naam <branch> en checkt deze uit. Laat -b weg om een bestaande branch uit te checken.

git merge <branch>

Voegt de branch <branch> samen in de huidige branch.

Remote Repositories

git remote add <name> <url>

Voegt een nieuwe remote repository toe. Na het toevoegen van de remote kun je <name> gebruiken als snelkoppeling voor <url> in andere commando’s.

git fetch <remote> <branch>

Haalt alle updates van de opgegeven op uit de repo, maar voegt deze niet samen met de lokale branch.

git pull <remote>

Haalt de opgegeven remote kopie van de huidige branch op en voegt deze onmiddellijk samen met de lokale kopie.

git push <remote> <branch>

Pusht de branch naar <remote>, samen met de benodigde commits en objecten. Als de remote repo niet bestaat, wordt er een genaamde branch aangemaakt in de remote repo.

git config

git config --global user.name <name>

Definieert de auteursnaam voor alle commits van de huidige gebruiker.

git config --global user.email <email>

Definieert het e-mailadres van de auteur voor alle commits van de huidige gebruiker.

git config --global alias.<alias-name> <git-command>

Maakt een snelkoppeling (alias) voor een Git-commando.

git config --system core.editor <editor>

Stelt de tekstverwerker in die door commando’s wordt gebruikt voor alle gebruikers op de computer.

git config --global --edit

Opent het globale configuratiebestand in een tekstverwerker voor handmatige bewerking.

git log

git log -<limit>

Toont de laatste <limit> records van de commit-geschiedenis.

git log --oneline

Toont de commit-geschiedenis, waarbij elke commit tot één regel wordt gecomprimeerd.

git log -p

Toont de commit-geschiedenis en de volledige diff voor elke commit.

git log --stat

Toont de commit-geschiedenis, inclusief welke bestanden zijn gewijzigd en het relatieve aantal regels dat aan elk bestand is toegevoegd of daaruit is verwijderd.

git log --author="<pattern>"

Zoekt naar commits van een specifieke auteur.

git log --grep="<pattern>"

Zoekt de commit-geschiedenis met behulp van reguliere expressies.

git log <since>..<until>

Toont commits die plaatsvonden tussen <since> en <until>.

git log -- <file>

Toont alleen commit-records die het opgegeven bestand bevatten.

git diff

git diff HEAD

Vergelijkt de verschillen tussen de werkmap (nog niet git add uitgevoerd) en de repository (na git commit).

git diff --cached

Vergelijkt de verschillen tussen de staging area (na git add) en de repository (na git commit).

git reset

git reset

Reset de staging area naar de meest recente commit, maar houdt de werkmap ongewijzigd.

git reset --hard

Reset zowel de staging area als de werkmap naar de meest recente commit, waarbij alle wijzigingen in de werkmap worden overschreven.

git reset <commit>

Verplaatst de huidige branch pointer terug naar <commit> en reset de staging area, maar wijzigt de werkmap niet.

git reset --hard <commit>

Hetzelfde als hierboven, maar reset zowel de staging area als de werkmap. Verwijdert niet-gecommitteerde wijzigingen en alle commits na <commit>.

git pull

git pull --rebase <remote>

Haalt de remote kopie van de huidige branch op en rebased deze op de lokale kopie. Gebruik git rebase in plaats van merge om branches te integreren.

git push

git push <remote> --force

Force push.

git push <remote> --all

Pusht alle lokale branches naar de opgegeven remote.

git push <remote> --tags

Pusht alle lokale tags naar de remote repository.