Oefening
Om alles wat gezien werd in dit onderdeel in de vingers te krijgen, doorloop je kritisch onderstaande workflow. Je ziet ook enkele nieuwe commando's, die je vaak zal gebruiken om te werken met Git zoals:
git status
: hiermee bekijk je de status voor de bestanden in je map: welke werden nog niet opgenomen in de staging area, welke staan klaar om te committen?
git log
: hiermee bekijk je de recente versiegeschiedenis, met een lijstje van de laatste commits.
git diff
: hiermee bekijk je het verschil tussen twee versies van een bestand
Initialisatie 👈​
- Open je Git bash terminal (Windows) of je favoriete shell (Linux)
- Indien het nog niet gebeurd is (controleer met
git config --list
), stel dan je user.name en user.email in met hetgit config
commando. - Maak een directory basic-git aan, ga in die map en voer
git init
uit om een repository aan te maken. - Met het commando
git status
kan je zien wat de huidige status is van je repository. In deze fase zal dat uiteraard nog niet veel opleveren...
Staging & committing 👈​
- Maak in dit project een bestand jokes.adoc aan met volgende inhoud:
= Git jokes
* The problem with git jokes is that everyone has their own version.
- Voer nog eens
git status
uit. Vind je de readme.adoc terug bij de untracked files?
Output:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
jokes.adoc
nothing added to commit but untracked files present (use "git add" to track)
- Plaats dit bestand in de staging area met
git add
- Ook nu voer je nog eens
git status
uit. Nu is het bestand wel getracked, klaar om toe te voegen in de repository met een commit. - Commit nu het bestand met
git commit
. Voeg daarbij een passende message toe: "Add first joke". - Ga met
git log
na als je commit werd opgenomen in de geschiedenis. Je ziet daar ook de integrale commit hash staan. De eerste 7 karakters daarvan worden de commit id genoemd. Je kan die gebruiken om naar een bepaalde commit te refereren, zonder de hele hash te moeten typen.
Vind je de output toch wat te spartaans, dan vind je online tal van mensen die met de vele parameters van het log commando speelden om een mooiere output te krijgen.
Probeer bijvoorbeeld:
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
Daarmee maak je een nieuw commando git lg
aan dat zorgt voor een (subjectief uiteraard 🙂) mooiere output...
Aanpassingen maken & doorvoeren 👈​
- Voeg nog een tweede mop toe aan het bestandje jokes.adoc:
* git-blame: ruining friendships since 2006
- Stage dit bestand met de nieuwe wijziging, en voer een commit uit met een passende boodschap.
- Controleer met git log de output.
Output
commit 975a757b15102f8604933614f91b267901399a00 (HEAD -> master)
Author: Roel Van Steenberghe <roel.vansteenberghe@odisee.be>
Date: Sun Apr 11 15:49:14 2021 +0200
add second joke
commit c6f68c8a12533a3a7e29d973a2029fe79b45ba79
Author: Roel Van Steenberghe <roel.vansteenberghe@odisee.be>
Date: Sun Apr 11 15:46:13 2021 +0200
add first joke
- Ga met
git diff
na wat het verschil is tussen beide commits. Voeg uiteraard de juiste commit-id's toe
Voorbeeld
git diff 975a757 C6f68c8