Was ist der Unterschied zwischen "Git Reset File" und "Git Reset HEAD File"?

9

Ich finde, dass beide eine Datei entfernen können.

Früher git reset filehabe ich eine Datei entfernt.

Aber heute, als ich das http://git-scm.com/book las .

Ich finde, es hat mich gelehrt zu benutzen git reset HEAD file, was macht der KOPF hier? Unter welchen Umständen ist es ein Muss?

PS: Eine zusätzliche Frage, mit der ich git checkout fileeine Datei unverändert lassen kann. In der Zwischenzeit schlägt mir dieses Buch vor, es zu verwenden git checkout -- file. Was ist der Unterschied hier?

Zen
quelle

Antworten:

9

Es gibt keinen Unterschied. HEADist völlig optional. HEADzeigt normalerweise auf das letzte Commit des aktuellen Zweigs. Wenn Sie es nicht verwenden, ist es impliziert. Dies ist nur dann sinnvoll, wenn Sie die Datei basierend auf einem anderen Zweig oder Commit usw. zurücksetzen möchten. Mit anderen Worten, es ist sinnvoll, etwas anderes als zu verwenden HEAD.

git checkoutmit --ist sicherer. Es ist klar, dass alles, was folgt, --beispielsweise ein Pfad und kein Commit oder Tag ist.

Miroslav Franc
quelle