Ga naar hoofdinhoud

Git – Lokaal versiebeheer

In dit labo werk je met Git op je eigen computer. Je oefent de volledige lokale workflow: een repository aanmaken, bestanden bijhouden, de geschiedenis bekijken en werken met branches.

Leerstof

Raadpleeg deze secties als je iets wil nalezen:

Werken in de oefenterminal

Elke oefening heeft twee tabs. In de Terminal typ je je Git-commando's, in de Editor maak en wijzig je bestanden: typ een bestandsnaam, tik de inhoud in en klik op Opslaan. Wisselen tussen de tabs kan altijd, ook halverwege.

Je werkt stap voor stap. Boven de terminal staat telkens één opgave. Zodra die klopt, verschijnt de volgende.

Git werkt hier echt. De simulator houdt een echte staging area, commits, branches en merges bij. git status vertelt je precies wat er aan de hand is, en een merge conflict komt met echte conflictmarkeringen in je bestand.

Fout typen mag. Een commando dat niet bij de stap hoort wordt niet uitgevoerd, maar je krijgt wel uitleg over wat er misgaat: waarom je niet kunt committen zonder eerst te stagen, waarom git add . niet altijd is wat je wil, of waarom een branch aanmaken je er nog niet naartoe brengt.

Een vergissing rechtzetten kan altijd. Heb je een naam vertypt of iets op de verkeerde plaats gezet, dan mag je dat met rm, rmdir of mv opruimen of hernoemen. Typ je een bestandsnaam verkeerd, dan krijg je eerst te horen welke naam de opgave vraagt.

Loop je vast, vraag dan een hint of spring via de knop naar de theorie. Met Opnieuw beginnen zet je een oefening terug naar de starttoestand. Je voortgang blijft bewaard in je browser, dus je mag de pagina sluiten en later verdergaan.

Elke oefening start met de repository zoals ze er na de vorige oefening uitzag, dus je kunt ze ook los van elkaar maken.


Stap 0 – Git Quest​

Voordat je aan de oefeningen begint, speel je Git Quest: een gamified omgeving die je stap voor stap door de Git-commando's leidt, met directe feedback op fouten.

👉 Ga naar Git Quest

Doorloop alle levels en kom terug zodra je klaar bent.


Oefening 1 – Configuratie controleren​

Je naam en e-mailadres komen bij elke commit die je ooit maakt te staan. Die stel je dus in vóór je eerste commit, niet erna.

Oefening 1 – Configuratie controlerenStap 1 van 4

Voor je begint, controleer je of Git klaarstaat. Je naam en e-mailadres komen bij elke commit te staan, dus die moeten kloppen voor je je eerste commit maakt.

Controleer welke versie van Git geïnstalleerd is.

student@ap-linux:~$
Pijltjes omhoog en omlaag halen vorige commando’s terug, tab vult namen aan. Rondkijken met ls, pwd of cat mag altijd.

Oefening 2 – Je eerste repository​

Je maakt een repository en doorloopt de volledige cyclus: bestand maken, stagen, committen. Let onderweg vooral op wat git status telkens vertelt. Dat commando is je belangrijkste hulpmiddel, ook nog na jaren.

Oefening 2 – Je eerste repositoryStap 1 van 9

Je maakt je eerste repository en doorloopt de volledige cyclus: bestand maken, stagen, committen. Let onderweg op wat git status telkens vertelt, want dat is je belangrijkste hulpmiddel.

Maak een map portfolio aan en ga erin.

Nog geen repository in deze map. Met git init maak je er een aan.
student@ap-linux:~$
Pijltjes omhoog en omlaag halen vorige commando’s terug, tab vult namen aan. Rondkijken met ls, pwd of cat mag altijd.

Oefening 3 – Staging area en diff​

De staging area lijkt in het begin een overbodige tussenstap, maar hij laat je kiezen wát er in een commit komt. Je maakt twee bestanden en commit ze bewust apart.

Oefening 3 – Staging area en diffStap 1 van 8

De staging area laat je kiezen wát er in een commit komt. Je maakt twee bestanden en commit ze bewust apart, zodat je geschiedenis leesbaar blijft.

Maak in de editor een bestand style.css met onderstaande inhoud.

body {
  font-family: sans-serif;
  background-color: #f0f0f0;
}
Branch● main
Stagingschoon
●c0ffee1Add portfolio homepagemain
student@ap-linux:~/portfolio$
Pijltjes omhoog en omlaag halen vorige commando’s terug, tab vult namen aan. Rondkijken met ls, pwd of cat mag altijd.

Oefening 4 – .gitignore​

Niet alles hoort in een repository. Wachtwoorden, logbestanden en geïnstalleerde pakketten laat je erbuiten.

Nooit committen

Commit een .env met sleutels of wachtwoorden nooit. Staat hij per ongeluk al gestaged, dan haal je hem eruit met git restore --staged .env. Is hij al gecommit, dan staat hij in je geschiedenis en moet je de sleutel vervangen.

Oefening 4 – .gitignoreStap 1 van 7

Niet alles hoort in een repository. Wachtwoorden, logbestanden en geïnstalleerde pakketten laat je erbuiten met een .gitignore.

Maak in de editor een bestand .env met de inhoud: API_KEY=geheim123

Branch● main
Stagingschoon
●c0ffee1Add portfolio homepagemain
student@ap-linux:~/portfolio$
Pijltjes omhoog en omlaag halen vorige commando’s terug, tab vult namen aan. Rondkijken met ls, pwd of cat mag altijd.

Oefening 5 – Werken met branches​

Een branch is een aparte lijn in je geschiedenis. Je bouwt er een nieuwe pagina op zonder main aan te raken, voegt hem daarna samen en ruimt op.

Oefening 5 – Werken met branchesStap 1 van 8

Een branch is een aparte lijn in je geschiedenis. Je bouwt er een nieuwe pagina op zonder main aan te raken, en voegt hem daarna samen.

Bekijk welke branches er op dit moment bestaan.

Branch● main
Stagingschoon
●c0ffee1Add portfolio homepagemain
student@ap-linux:~/portfolio$
Pijltjes omhoog en omlaag halen vorige commando’s terug, tab vult namen aan. Rondkijken met ls, pwd of cat mag altijd.

Oefening 6 – Merge conflict oplossen​

Als twee branches dezelfde regel wijzigen, kan Git niet kiezen. Dan krijg je een conflict. Dat is geen fout maar een vraag, en jij beantwoordt hem. Je maakt er hier bewust een en lost hem op.

Oefening 6 – Merge conflict oplossenStap 1 van 10

Als twee branches dezelfde regel wijzigen, kan Git niet kiezen. Dan krijg je een conflict, en dat los jij op. Je maakt er hier bewust een.

Maak vanuit main een branch feature/tagline aan en schakel ernaartoe.

Branch● main
Stagingschoon
●c0ffee1Add portfolio homepagemain
student@ap-linux:~/portfolio$
Pijltjes omhoog en omlaag halen vorige commando’s terug, tab vult namen aan. Rondkijken met ls, pwd of cat mag altijd.

Uitdaging – Volledig projectbeheer​

Je zet een mini-webshop volledig zelf op: een repository met een .gitignore, een basispagina op main, een feature-branch die vlot merget, en een tweede die een conflict veroorzaakt. Geen uitleg meer over welk commando je nodig hebt.

Beoordeel jezelf achteraf:

  • Zijn je commit-berichten in het Engels en beschrijvend?
  • Heb je de branches na de merge verwijderd?
  • Bevat je .gitignore alle vereiste patronen?
  • Toont git log --oneline een logische, leesbare geschiedenis?
Uitdaging – Volledig projectbeheerStap 1 van 7

Je beheert een mini-webshop volledig zelf. Geen stap-voor-stap uitleg meer over welk commando je nodig hebt: gebruik wat je in dit labo geleerd hebt.

Maak een map webshop, ga erin en initialiseer er een Git-repository.

Nog geen repository in deze map. Met git init maak je er een aan.
student@ap-linux:~$
Pijltjes omhoog en omlaag halen vorige commando’s terug, tab vult namen aan. Rondkijken met ls, pwd of cat mag altijd.

Huiswerk – Git op je eigen computer​

De oefenterminal hierboven draait in je browser. Voor het echte werk heb je Git op je eigen machine nodig, want vanaf het volgende labo werk je met je eigen projecten en met GitHub.

Installeer Git thuis en zet hem meteen goed:

  1. Volg de installatiestappen voor jouw besturingssysteem in Git installeren. Op Windows krijg je er Git Bash bij, de terminal die je in de volgende labo's gebruikt.
  2. Controleer daarna of het gelukt is met git --version. Zie je een versienummer, dan staat Git klaar. Zie je niets, sluit dan je terminal en open hem opnieuw.
  3. Stel je naam en e-mailadres in, net zoals in oefening 1. Gebruik het e-mailadres waarmee je straks je GitHub-account aanmaakt.
Kom je er niet uit?

De sectie Installatie verifiëren beschrijft wat je ziet als het werkt, en wat je doet als het commando niet herkend wordt. Lukt het dan nog niet, breng je laptop mee naar het volgende contactmoment.


Huiswerk – Een GitHub-account aanmaken​

Vanaf het volgende labo werk je op GitHub. Zorg dat je account klaarstaat voor je naar de les komt, anders sta je meteen stil bij de eerste oefening.

  1. Ga naar github.com/signup en maak een account aan met je AP-e-mailadres. Gebruik hetzelfde adres dat je hierboven met git config --global user.email hebt ingesteld.
  2. Kies een gebruikersnaam die je over vijf jaar nog durft te tonen. Ze staat in de URL van al je repositories en is zichtbaar voor iedereen, ook voor werkgevers die je portfolio bekijken.
  3. Bevestig je e-mailadres via de mail die GitHub je stuurt.
  4. Stel tweestapsverificatie in wanneer GitHub daarom vraagt. Dat is verplicht voor accounts die code pushen, dus je ontkomt er niet aan.
  5. Log één keer uit en opnieuw in, zodat je zeker weet dat je je wachtwoord terugvindt.
Gebruik een wachtwoordmanager

Neem meteen de gewoonte aan om je wachtwoorden te laten beheren in plaats van ze te onthouden. Een wachtwoordmanager genereert voor elke dienst een uniek, lang wachtwoord en vult het voor je in. Bitwarden en KeePassXC zijn gratis en open source; 1Password is betalend. De ingebouwde wachtwoordmanager van je browser is een aanvaardbaar minimum.

Waarom dit hier al staat, en niet later:

  • Hergebruik je je AP-wachtwoord op GitHub, dan volstaat één lek bij één van beide om allebei je accounts te verliezen. Dat is precies hoe de meeste accounts overgenomen worden.
  • Je kan er ook je codes voor tweestapsverificatie in bewaren, zodat je niet vastzit als je je gsm kwijt bent.
  • In het labo Samenwerken via GitHub krijg je van GitHub een access token dat maar één keer getoond wordt. Wie dan nog geen veilige plek heeft om het te bewaren, mag opnieuw beginnen.
Je AP-adres verdwijnt ooit

Je e-mailadres van de hogeschool blijft niet eeuwig werken. Voeg later in je GitHub-instellingen een tweede, persoonlijk e-mailadres toe. Zo behoud je de toegang tot je account, en tot alles wat je dit semester gemaakt hebt.