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
enrebase
.
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.
links¶
- Atlassian. (z.d.). Git Terminology Glossary | Atlassian Git Tutorial. https://www.atlassian.com/git/glossary/terminology
- Git - GitGlossary Documentation. (z.d.). https://git-scm.com/docs/gitglossary