Ik deed een git pull
en kreeg een foutmelding:
De volgende werkboombestanden worden overschreven door samenvoegen…
Verplaats of verwijder ze voordat je kunt samenvoegen.
Om dit op te lossen heb ik het volgende gedaan:
git fetch
git reset --hard origin/master
Als ik nu git pull
doe, staat alles up-to-date. Ik wil weten wat er precies gebeurt als ik deze commando’s uitvoer. Ik weet dat git fetch
de wijzigingen ophaalt van de externe opslagplaats zonder ze samen te voegen met mijn lokale opslagplaats.
Wat is de betekenis van git reset --hard origin/master
? Hoe werkt het?
Antwoord 1, autoriteit 100%
git reset --hard origin/master
zegt: gooi al mijn gestaged en unstaged wijzigingen weg, vergeet alles op mijn huidige lokale branch en maak het precies hetzelfde als origin/master
.
U wilde dit waarschijnlijk vragen voordat u de opdracht uitvoerde. De destructieve aard wordt gesuggereerd door dezelfde woorden te gebruiken als in “harde reset”.
Antwoord 2
In een nieuwere versie van git (2.23+) kun je het volgende gebruiken:
git switch -C master origin/master
-C
is hetzelfde als --force-create
. Gerelateerde Referentiedocumenten