TI-S2

GitHub Groepsproject Oefening

Oefening: Werken met Git in een team

Doel

Leer om effectief samen te werken aan jullie groeps-repository via de command line, inclusief het maken van branches, commit messages schrijven, pull requests (merge requests) indienen, en het oplossen van merge conflicts.

Vereisten

Situatie

Jullie werken gezamenlijk aan een simpele To-Do List applicatie geschreven in Python. De repository bevat één bestand: todo.py, met basisfunctionaliteit voor het weergeven van een lijst.

Stappen

1. Clone de Repository (Iedereen)

Als het goed is heb je deze stap al gedaan van zowel de groeps repository als je prive repository! Voer eerst het commando git pull uit.

$ git clone <REPOSITORY_URL>
$ cd <REPOSITORY_FOLDER>

2. Maak een nieuwe Branch (Iedereen)

Elke deelnemer maakt een eigen branch om een nieuwe functionaliteit toe te voegen.

$ git checkout -b <branch-naam>  

Voorbeeld:

$ git checkout -b add-task-feature

3. Voeg Functionaliteit Toe (Iedereen)

Voeg in todo.py een functie toe in de branch waar je aan werkt. Bijvoorbeeld:

# In todo.py

tasks = []

def add_task(task):
    tasks.append(task)
    print(f'Task toegevoegd: {task}')

4. Commit je wijzigingen (Iedereen)

$ git add .
$ git commit -m "Voeg functie toe om taken toe te voegen"

5. Push de Branch naar GitHub (Iedereen)

$ git push -u origin <branch-naam>

6. Maak een Merge Request (Iedereen)

Maak een Merge Request aan via de GitHub interface en wijs één van je teamleden toe als reviewer.

7. Review en Merge (Reviewer)

8. Conflict Simulatie (Team)

Laten we nu een conflict genereren! Twee deelnemers moeten de zelfde regel code wijzigen in hun eigen branches en proberen deze naar main te mergen. Dit leidt tot een conflict.

9. Merge Conflict Oplossen (Iedereen)

10. Herhaal het Proces (Team)

Blijf samenwerken aan nieuwe functionaliteiten en herhaal de bovenstaande stappen. Zorg dat jullie regelmatig pullen van de main branch om conflicts te minimaliseren.

Evaluatie

Bespreek als team hoe jullie samenwerking is verlopen:

Tip

Git commit berichten mogen in het engels.

Referentie