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 statusGeeft een lijst van bestanden die gestaged, niet gestaged en niet gevolgd zijn.
git logToont de volledige commit-geschiedenis met de standaardindeling.
git diffVergelijkt 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 -nToont 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 --amendWijzigt 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 reflogMaakt het mogelijk om alle bewerkingsrecords van alle branches te bekijken (inclusief verwijderde commit-records en reset-bewerkingen).
Git Branching
git branchGeeft 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
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 --editOpent 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 --onelineToont de commit-geschiedenis, waarbij elke commit tot één regel wordt gecomprimeerd.
git log -pToont de commit-geschiedenis en de volledige diff voor elke commit.
git log --statToont 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 HEADVergelijkt de verschillen tussen de werkmap (nog niet git add uitgevoerd) en de repository (na git commit).
git diff --cachedVergelijkt de verschillen tussen de staging area (na git add) en de repository (na git commit).
git reset
git resetReset de staging area naar de meest recente commit, maar houdt de werkmap ongewijzigd.
git reset --hardReset 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> --forceForce push.
git push <remote> --allPusht alle lokale branches naar de opgegeven remote.
git push <remote> --tagsPusht alle lokale tags naar de remote repository.