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
Aanmaak van een repository op Gitlab 👈​
Je zou perfect kunnen starten door lokaal een nieuwe repository aan te maken met git init, maar in de praktijk zal je meestal starten door een repository aan te maken op een platform zoals Gitlab, Github of Bitbucket.
Vandaar dat we hier starten met het aanmaken van een nieuwe repository op Gitlab.
- Ga naar https://gitlab.com/groups/ikdoeict/-/saml/sso en log in met je Odisee-account.
Eenmaal aangemeld kom je er op het startscherm van onze Gitlab-groep, genaamd ikdoeict.
Elke student zal onder https://gitlab.com/ikdoeict een persoonlijke subgroup hebben, waar die zijn/haar eigen repositories kan aanmaken.
Voor de meeste vakken in de opleiding zal dus gevraagd worden om onder je eigen subgroup een repository aan te maken.
-
Maak in je eigen subgroup een nieuwe repository aan met de naam "mijn eerste project".
- Kies hiervoor Create Project > Create blank project.
- Vul bij Project name de naam mijn eerste project in.
Laat de andere opties op hun standaardwaarde staan behalve "Initialize repository with a README", dat moet je uitvinken.
- klik op de knop Create project.
-
Je krijgt nu van Gitlab een pagina te zien met enkele instructies om deze nieuwe repository te gebruiken.
Die zullen we straks verder hieronder toepassen.
Op dit moment heb je dus een nieuwe, lege repository aangemaakt op Gitlab. Online kunnen we daar weinig mee aanvangen. We werken vooral lokaal op onze pc met Git, en we zullen deze "remote repository" dus moeten koppelen met onze lokale PC.
Aangemaakte repository lokaal brengen 👈​
Hierboven heb je een nieuwe lege repository aangemaakt op Gitlab.
Nu gaan we die repository lokaal op onze PC brengen, zodat we er lokaal mee kunnen werken.
- Kopieer de URL van je repository. Je vindt die terug op de pagina van je repository, onder de knop Clone.

-
Open je Git bash terminal (Windows) of je favoriete shell (Linux)
-
Navigeer naar de locatie waar je je projecten bewaart (bijvoorbeeld je home directory of een specifieke map zoals
Documents/School/Projects, afhankelijk van je voorkeur). -
Indien het nog niet gebeurd is (controleer met
git config --list), stel dan je user.name en user.email in met hetgit configcommando. -
Kloon de repository met het
git clonecommando, gevolgd door de URL die je hierboven kopieerde:git clone https://gitlab.com/ikdoeict/xxxxxxx/mijn-eerste-projectDit commando maakt een nieuwe map
mijn-eerste-projectaan in je huidige directory, en haalt de inhoud van de remote repository op naar je lokale PC. -
Met het commando
git statuskan je zien wat de huidige status is van je repository. In deze fase zal dat uiteraard nog niet veel opleveren... Dit is een nieuwe, lege repository.
Staging & committing 👈​
Om nu iets te kunnen toevoegen en later te committen in de repository, moeten we eerst een of meerdere bestanden aanmaken.
-
Navigeer met
cd mijn-eerste-projectnaar de map van je project. -
Maak in dit project, d 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 statusuit. 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 statusuit. 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 logna 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 diffna wat het verschil is tussen beide commits. Voeg uiteraard de juiste commit-id's toe
Voorbeeld:
git diff 975a757 C6f68c8