Skip to main content

Samenwerken met GitHub

Samenwerken met GitHub

28570In https://www.roc.ovh/books/software-development-2025/page/cyber-security-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
  1. Een screenshot van de nieuwe repository op GitHub.
  2. 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
  1. 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
  1. Screenshot van GitHub waarop de nieuwe index.html zichtbaar 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
  1. 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
  1. 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
  1. Screenshot van je lokale map waarin zowel pagina1.html als pagina2.html staan.

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
  1. 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
  1. 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
  1. 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 pull de 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
  1. Het reflectieverslag in PDF.

---