Qual é a diferença entre `git reset file` e` git reset HEAD file`?

9

Acho que esses dois podem desestabilizar um arquivo.

Eu costumava git reset filedesmontar um arquivo.

Mas hoje, quando li o http://git-scm.com/book .

Acho que me ensinou a usar git reset HEAD file, o que o HEAD faz aqui? Em que circunstâncias é uma obrigação?

PS: Outra pergunta que posso usar git checkout filepara modificar um arquivo. Enquanto isso, este livro sugere que eu use git checkout -- file. Qual a diferença aqui?

zen
fonte

Respostas:

9

Não há diferença. HEADé totalmente opcional. HEADnormalmente aponta para o último commit da ramificação atual. Se você não o usar, está implícito. Só faz sentido se você deseja redefinir o arquivo com base em alguma ramificação ou confirmação diferente etc. Em outras palavras, faz sentido usar algo diferente de HEAD.

git checkoutcom --é mais seguro. É claro que o que segue --é um caminho e não um commit ou uma tag, por exemplo.

Franco de Miroslav
fonte