Basishandelingen in Git (1)
Sorry, this post is in Dutch only.
Nadat je Beginnen met Git hebt gelezen en natuurlijk direct Git hebt geïnstalleerd is het tijd om te gaan hacken. In dit artikel een overzicht van basishandelingen in Git. Hoewel er zowel voor Windows, OS X als voor Linux een GUI beschikbaar is heeft heeft het mijn voorkeur om te werken in de terminal. Ik ben van mening dat dit bijdraagt aan het begrip van Git; het helpt volgens mij om een correct mental model te vormen. Alle beschreven handelingen bestaan uit een titel, de Git commando’s en een beknopte uitleg.
0. Open de terminal
Als je Windows gebruikt en je hebt bijvoorbeeld msysGit geïnstalleerd start dan Git Bash. Met OS X open je simpelweg een terminal-venster (Programma’s > Hulpprogramma’s > Terminal). Als je Linux gebruikt dan weet je de terminal vast en zeker te vinden.
1. Jezelf voorstellen
Git stelt het op prijs als je jezelf eenmalig voorstelt. Git kan zo alle commits traceren.
git config --global user.name 'Patrick Beeker' git config --global user.email 'patrick@rekeeb.com'
2. Een nieuwe repository aanmaken
Stel voor dat wij een directory gaafproject/ hebben met daarin het bestand index.html. We maken de repository als volgt aan:
cd gaafproject/ git init git add index.html git commit -m 'Een korte maar heldere beschrijving van de gemaakte wijzingen'
We navigeren naar de gaafproject/. Met init (1) maak je een nieuwe Git-repository aan in de directory waar je je op dat moment begeeft. Met add (2) voeg je bestanden toe aan de repository (met git add . voeg je alle bestanden in de huidige directory toe). Om een specifieke directory toe te voegen gebruik je: git add /Directory. Ten slotte verwerk je alles met het commit-commando (3). Door de schakel ‘-m’ te gebruiken kun het commit-bericht bijvoegen.
3. De status van zaken
Ten alle tijden kun je Git vragen wat de stand van zaken is. Door het commando status te gebruiken kun je erachter komen hoeveel bestanden gewijzigd zijn, en of deze eventueel al klaar staan om te worden gecommit (EN: staged).
git status
Met het status-commando toont Git alle wijzigingen in de bestanden die zich in de Git-directory bevinden. En geeft dus een overzicht van onder andere:
- Gewijzigde bestanden sinds de laatste commit (modified)
- Bestanden die nog niet zijn opgeslagen in de repository (untracked)
- Verwijderde bestanden (deleted)
Het is een belangrijk commando om inzicht te krijgen in welke wijzigingen precies zullen worden opgeslagen (commit).
4. De verschillen bekijken (- – + +)
Met git status krijg je inzicht in welke bestanden aangepast zijn maar niet welke wijzigingen er zijn gemaakt. Daarvoor gebruik je diff-erence commando:
git diff
Diff geeft per bestand aan wat er gewijzigd is. Verwijderde code wordt aangeduid met het minus-teken (-), ingevoegde code met het plus-teken (+). Met het (uitgebreide) diff-commando kan zeer specifiek worden gekeken naar aangebrachte wijzigingen in code. De plussen en minnen in het Git logo verwijzen dan ook naar de diff-functie.
Zie ook: Screencast Git Diff (gitcasts.com)
5. Commit geschiedenis
Iedere commit komt er feitelijk op neer dat wijzigingen permanent worden opgeslagen. Het is daarom van belang om heldere en zinvolle commit messages te schrijven. Zodat op een later stadium, als je bijvoorbeeld een oudere versie van bestand wilt teruggehaald, je dit relatief snel kan doen. Je kunt de hele historie aan commits opvragen met:
git log
Het log-commando laat een overzicht zien van alle gemaakte commits. Iedere commit bestaat uit een commit ID, auteur (Zie 1. Jezelf voorstellen) en een datum/tijd stempel. Met de –pretty switch kun je aangeven hoe uitgebreid je dit overzicht wilt hebben. Met de switch --pretty=oneline toon je de commits zeer beknopt, standaard wordt de log-functie getoond met de optie --pretty=medium.
Geen zin om te lezen?
Bekijk dan de screencast van Scott Chacon (Gitcasts.com) voor een Engelstalige uitleg van bovenstaande commando’s.
