Ich habe noch nicht die Möglichkeit, andere Antworten zu kommentieren. Ich wollte nur hinzufügen, dass ich auf einen Fall gestoßen bin, in dem die beiden Befehle NICHT den gleichen Effekt haben. Ich bin in einen seltsamen Zustand geraten, also ist dies definitiv ein Randfall. Folgendes ist passiert:
Ich war in einer Filiale, alles sauber. Ich habe den Master ausgecheckt git checkout masterund festgestellt, git statusdass Änderungen an vorhandenen Dateien vorgenommen wurden, die nicht für ein Commit bereitgestellt wurden (ja, für den Code, den ich gerade ausgecheckt habe). Ich habe versucht, mich zu verstecken, um in einen sauberen Zustand zurückzukehren. Der Stash soll abgeschlossen sein, war aber git statusimmer noch unverändert. Auch versucht git reset --hard HEAD. Es wurde ebenfalls ein erfolgreicher Abschluss gemeldet, der Status war jedoch nicht anders. Ich konnte diese seltsamen Änderungen nicht abbrechen.
Dies wurde jedoch git checkout -fgelöst. Ich konnte diesem seltsamen Zustand entkommen. Zumindest in gewisser Hinsicht sind die beiden also nicht gleich.