Wat is het verschil tussen de commando's pull en fetch in Git?
sobes.tech AI
Antwoord van AI
git fetch downloadt wijzigingen van een externe repository, maar past ze niet toe op de huidige tak.
git pull voert een git fetch uit, en merge vervolgens automatisch (merge) de ontvangen wijzigingen met de huidige tak.
Belangrijke verschillen:
| Commando | Actie | Invloed op werkmap / tak |
|---|---|---|
git fetch |
Downloadt objecten (commits, bestanden) | Verandert de werkmap of huidige tak niet |
git pull |
Downloadt objecten en voegt wijzigingen samen | Actualiseert de huidige tak en werkmap |
Voorbeeld van gebruik:
Om gewoon te zien wat er op de remote server is veranderd:
git fetch origin
(Je kunt de wijzigingen bekijken met git log origin/<tak>)
Om de wijzigingen op te halen en automatisch toe te passen op de huidige tak:
git pull origin main # bijvoorbeeld
git pull is in wezen gelijk aan het sequentieel uitvoeren van git fetch en git merge of git rebase (afhankelijk van de instellingen).
# Equivalent aan git pull
git fetch origin
git merge origin/main # als de huidige tak main is en merge wordt gebruikt als strategie
Het gebruik van git fetch biedt meer controle, omdat je de inkomende wijzigingen kunt bekijken voordat je ze samenvoegt. git pull is handig voor snelle synchronisatie.