Wie Jefromi kommentierte,
git checkout master
git reset --hard origin/master
macht das Richtige: den Master in seinen Ursprungsstatus versetzen. (Wenn Sie sich bereits in der masterVerzweigung befinden, können Sie den ersten Befehl weglassen.) Außerdem bleibt das Reflog der Verzweigung intakt.
Alte minderwertige Antwort:
git checkout dev
git branch -D master
git checkout master
Dadurch wird zu einem anderen Zweig gewechselt (in diesem Fall "dev" - wählen Sie einen anderen Zweig aus), der lokale masterZweig wird gelöscht und anschließend neu erstellt remotes/origin/master(was je nach Ihren Einstellungen und Ihrer Git-Version möglicherweise nicht funktioniert). Der letzte Befehl ist oft gleichbedeutend mit
git checkout -b master remotes/origin/master
Im Vergleich zu der obigen neuen Antwort hat dies den Nachteil, dass das Reflog zerstört und neu erstellt wird (dh Sie können dies bei Bedarf nicht so einfach rückgängig machen), und es ist weniger klar, was hier passiert. Außerdem muss ein anderer Zweig vorhanden sein, zu dem Sie beim Löschen und Wiederherstellen wechseln können (dies war jedoch in der ursprünglichen Frage der Fall).
git reset --hard origin/master? Auch ... funktioniert dieser letzte Schritt überhaupt? Scheint mir nicht. (git checkout -b master origin/masterwürde aber.)