Jaka jest różnica między `git reset file` a` git reset HEAD file`?


9

Uważam, że oba mogą rozpuścić plik.

Kiedyś git reset fileużywałam do rozpakowywania pliku.

Ale dzisiaj, kiedy czytam http://git-scm.com/book .

Uważam, że nauczyło mnie to używania git reset HEAD file, co HEAD tutaj robi? W jakich okolicznościach jest to konieczne?

PS: Dodatkowe pytanie, którego mogę użyć git checkout filedo niemodyfikowania pliku. Tymczasem ta książka sugeruje, żebym użył git checkout -- file. Jaka jest tutaj różnica?

Odpowiedzi:


9

Nie ma różnicy. HEADjest całkowicie opcjonalny. HEADzwykle wskazuje na ostatnie zatwierdzenie w bieżącej gałęzi. Jeśli tego nie użyjesz, jest to dorozumiane. Ma to sens tylko wtedy, gdy chcesz zresetować plik na podstawie innej gałęzi lub zatwierdzenia itp. Innymi słowy, sensowne jest użycie czegoś innego niż HEAD.

git checkoutz --jest bezpieczniejszy. Oczywiste jest, że wszystko, co następuje, --jest ścieżką, a nie na przykład zatwierdzeniem lub tagiem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.