Wat is de betekenis van git reset –hard origin/master?

Ik deed een git pullen 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 pulldoe, staat alles up-to-date. Ik wil weten wat er precies gebeurt als ik deze commando’s uitvoer. Ik weet dat git fetchde 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

-Cis hetzelfde als --force-create. Gerelateerde Referentiedocumenten

Other episodes