Samenwerken met GitHub
Samenwerken met GitHub
In deze module leer je hoe je niet alleen je eigen code veilig bewaart, maar ook hoe je met een team aan hetzelfde project werkt zonder elkaars werk te overschrijven.
1. Je eerste online opslagplaats (Repository)
π― Leerdoelen
- Je kunt een GitHub account aanmaken en een nieuwe repository initialiseren.
π‘ Uitleg
Een Repository (of 'repo') is de online map waar je project woont. Zie het als een centrale kluis waar jij en je teamleden altijd bij kunnen.
π οΈ Opdracht β Maak de repo
Maak op GitHub.com een nieuwe Public Repository aan met de naam github-challenge. Voeg direct een README.md bestand toe.
π€ Inleveren
- Een screenshot van de nieuwe repository op GitHub.
- De URL van je repository.
2. De kluis naar je eigen computer halen (Clone)
π‘ Uitleg
Om te kunnen werken, moet je de online code naar je eigen laptop kopiΓ«ren. Dit noemen we Clonen. Je gebruikt hiervoor Git in VS Code.
π οΈ Opdracht β Clone de repo
Gebruik het commando git clone [URL] in de terminal van VS Code om je repo lokaal te zetten in je htdocs map.
π€ Inleveren
- Een screenshot van VS Code waarin de bestanden uit je repo zichtbaar zijn.
3. Je werk opslaan (Commit & Push)
π‘ Uitleg
Een Commit is een momentopname (savepoint). Een Push stuurt deze savepoints naar de online kluis op GitHub.
π οΈ Opdracht β Voeg code toe
Maak een bestand index.html aan. Voer een commit uit met het bericht "Eerste pagina toegevoegd" en push de wijziging naar GitHub.
π€ Inleveren
- Screenshot van GitHub waarop de nieuwe
index.htmlzichtbaar is.
4. Wijzigingen ophalen (Pull)
π‘ Uitleg
Als een teamlid (of jijzelf op een andere pc) iets verandert, moet je de lokale versie bijwerken. Dit doe je met Pull.
π οΈ Opdracht β Test de pull
Pas op de website van GitHub direct je README.md aan. Gebruik daarna in VS Code git pull om je lokale computer weer 'up-to-date' te maken.
π€ Inleveren
- Screenshot van je terminal waarin staat dat de pull is geslaagd.
5. Teamleden uitnodigen (Collaborators)
π οΈ Opdracht β Deel je kluis
Ga naar de instellingen van je repo op GitHub en nodig een klasgenoot uit als Collaborator. Je klasgenoot moet de uitnodiging via e-mail accepteren.
π€ Inleveren
- Screenshot van de 'Collaborators' pagina waarop je klasgenoot te zien is.
6. Tegelijkertijd bouwen
π‘ Uitleg
Het mooie van Git is dat teamleden aan verschillende bestanden kunnen werken zonder elkaar te storen.
π οΈ Opdracht β Ieder zijn eigen bestand
Jij maakt pagina1.html en je teamgenoot maakt pagina2.html. Commit en push beiden jullie werk en doe daarna allebei een pull.
π€ Inleveren
- Screenshot van je lokale map waarin zowel
pagina1.htmlalspagina2.htmlstaan.
7. Help, een Merge Conflict! (Deel 1)
π‘ Uitleg
Een Merge Conflict ontstaat als twee mensen dezelfde regel in hetzelfde bestand aanpassen. Git weet dan niet welke versie 'de juiste' is.
π οΈ Opdracht β Forceer een conflict
Pas beiden regel 1 van index.html aan met een andere tekst. Laat je teamgenoot eerst pushen. Probeer daarna zelf te pushen. Wat gebeurt er?
π€ Inleveren
- Screenshot van de foutmelding in je terminal (rejected).
8. De tijdmachine repareren (Deel 2)
π‘ Uitleg
In VS Code zie je nu paarse en blauwe markeringen bij de code. Jij moet kiezen: houd je jouw code, die van je maatje, of beide?
π οΈ Opdracht β Los het op
Kies 'Accept Both Changes', sla het bestand op, doe een nieuwe commit en push de oplossing.
π€ Inleveren
- Screenshot van de opgeloste code in VS Code.
9. Werken op een zijspoor (Branches)
π‘ Uitleg
Met een Branch werk je aan een nieuwe feature zonder de 'hoofdcode' (main) kapot te maken. Pas als het af is, voeg je het samen (Merge).
π οΈ Opdracht β Maak een feature-branch
Maak een branch nieuwe-layout. Verander de achtergrondkleur van je site in CSS op deze branch en push de branch naar GitHub.
π€ Inleveren
- Screenshot van GitHub waarop de nieuwe branch zichtbaar is in het dropdown-menu.
10. Reflectie: De Teamplayer
π§ Reflectie
Beantwoord de volgende vragen in een PDF:
- Waarom is
git pullde belangrijkste handeling voordat je begint met typen? - Hoe voorkom je merge conflicten in een echt project?
- Wat is het grootste voordeel van werken met GitHub voor je portfolio?
π€ Inleveren
- Het reflectieverslag in PDF.
---