Skip to content

Git terminologie

Local

local verwijst naar je eigen computer. Je local repository is dus de repository op je eigen computer.

Repository

Een repository is een map met daarin alle bestanden van je project. Git houdt bij welke bestanden er in de repository staan en welke veranderingen er zijn gemaakt.

Staging

staging is het klaarzetten van bestanden om te kunnen committen in je repository.

Commit

Een commit is een verandering in de repository. Het is een verzameling van veranderingen in één of meerdere bestanden. Iedere commit heeft een unieke naam, de commit hash. Een commit hash is een unieke code die git gebruikt om een commit te identificeren.

Commit message

Een commit message is een korte beschrijving van de veranderingen die je hebt gemaakt. Een commit message is een korte zin die begint met een werkwoord. Bijvoorbeeld:

  • fix bug in login form

Branch

Een branch is een afsplitsing van de hoofdlijn van je code. Je kan een branch zien als een parallelle versie van je code waarin je wijzigingen kan maken zonder de hoofdlijn van je code te beïnvloeden.

---
title: Voorbeeld van een branch
---
gitGraph
    commit id: "First commit"
    commit id: "Add feature A"
    branch develop
    checkout develop
    commit id: "Add feature B"
    commit id: "Add feature C"
    checkout main
    commit id: "Add feature D"

Merge

Een merge is het samenvoegen van twee branches. Als je klaar bent met je wijzigingen in een branch kan je de wijzigingen samenvoegen met de hoofdlijn van je code.


---
title: Voorbeeld van mergen
---
gitGraph
    commit id: "First commit"
    commit id: "Add feature A"
    branch develop
    checkout develop
    commit id: "Add feature B"
    checkout main
    commit id: "Add feature C"
    merge develop id: "Merge 'develop'\n into main"
    checkout main
    commit id: "Add feature D"

Merge conflict

Als je een merge doet kan het zijn dat er een merge conflict ontstaat. Een merge conflict ontstaat als je veranderingen hebt gemaakt in dezelfde regels van een bestand. Je moet dan zelf kiezen welke veranderingen je wilt behouden

Rebase

Een rebase is een alternatieve manier om wijzigingen van een branch samen te voegen met de hoofdlijn van je code. In tegenstelling tot een merge worden de wijzigingen van de branch opnieuw toegepast op de hoofdlijn van je code.

Let op!

Gebruik rebase alleen als je zeker weet wat je doet. Rebase kan je geschiedenis veranderen en tot problemen leiden als je niet oppast.

  • Zie “Merging vs Rebasing” op Atlassian voor meer informatie over het verschil tussen merge en rebase.

Stash

Stash is een opslagplaats voor wijzigingen die je hebt gemaakt maar nog niet wilt committen. Je kan stash gebruiken om je wijzigingen tijdelijk op te slaan en later weer op te halen.

Diff

Een diff is een overzicht van de veranderingen die je hebt gemaakt. Je kunt een diff gebruiken om te zien welke veranderingen je hebt gemaakt voordat je een commit maakt.

Remote

Een remote is een kopie van de repository op een andere computer. Je kunt een remote gebruiken om samen te werken met andere mensen of om veranderingen te delen met andere mensen.

Clone

Een clone is een kopie van een repository. Je kunt een clone gebruiken om een repository te kopiëren naar een andere computer.

Fetch

Een fetch is een commando om de veranderingen van een remote te downloaden. Je kunt een fetch gebruiken om de veranderingen van een remote te downloaden zonder dat je de veranderingen samenvoegt met je repository.

Push - Pull

Wijzigingen die je maakt in je lokale repository moet je synchroniseren met de repository op de server. Dit doe je door te pushen. Wijzigingen die anderen maken in de repository op de server moet je synchroniseren met je lokale repository. Dit doe je door te pullen.

graph LR
    A[local repository] -- push --> B[remote repository]
    B -- pull --> A

Let op!

Voordat je gaat pushen of pullen moet je eerst je wijzigingen committen.

Sync

Een sync is een fetch en een push in één commando. Je kunt een sync gebruiken om de veranderingen van een remote te downloaden en de veranderingen van je repository te uploaden naar een remote. sync is een commando dat niet bestaat in git. Je kunt sync gebruiken door eerst een fetch en daarna een push uit te voeren. In de meeste git programma’s kun je ook een sync uitvoeren.

Origin

origin is de naam van de remote die je repository heeft gemaakt. Je kunt origin gebruiken om de veranderingen van je repository te uploaden naar de remote.

Oefenen met git termen

Zeg niet:

Na het samenvoegen van onze beide versies van ons project van bleek dat er tegenstrijdige veranderingen waren gemaakt in dezelfde regels van het bestand.

maar zeg:

Na het mergen van onze branches bleek er een mergeconflict te zijn ontstaan.

Vertaal de volgende zinnen op deze manier naar git terminologie:

  • Ik heb de veranderingen van de kopie van mijn project op de server gedownload en samengevoegd met mijn lokale project.
  • Ik heb de veranderingen van mijn lokale project geupload naar de kopie van mijn project op de server.
  • Ik heb de nieuwe bestanden klaargezet om te worden opgeslagen als veranderingen in mijn project.
  • Ik wissel nu van de versie “develop” naar de versie “main” van mijn project.
  • Ik heb een kopie van mijn project gemaakt op de server.
  • Ik heb mijn project van de server gekopieerd naar mijn computer.