Como desfazer um check-out no git?

134

Acabei de verificar um commit anterior do meu repositório git local. Eu não fiz nenhuma alteração, estava apenas olhando. Agora, quero voltar ao meu último commit - como faço isso?

O comando exato que eu usei para conferir:

git checkout e5dff6b3c5d704f9b598de46551355d18235ac08

Agora, quando eu digito git log, na parte superior, vejo este commit verificado, mas nenhum dos meus commits posteriores. Eu os apaguei acidentalmente?

Yuval Karmi
fonte
Eu acho que você está vendo da maneira errada: fazemos checkout para ramos (cabeças), não comete individualmente
Z. Khullah

Respostas:

183

Tente primeiro:

git checkout master

(Se você estiver em um ramo diferente master, use o nome do ramo lá.)

Se isso não funcionar, tente ...

Para um único arquivo:

git checkout HEAD /path/to/file

Para toda a cópia de trabalho do repositório:

git reset --hard HEAD

E se isso não funcionar, você pode procurar no reflog para encontrar sua antiga cabeça SHA e redefinir para isso:

git reflog
git reset --hard <sha from reflog>

HEAD é um nome que sempre aponta para a confirmação mais recente em sua ramificação atual.

Âmbar
fonte
mas como eu vejo meus commits para decidir qual hash SHA1 deve fornecer?
Yuval Karmi
1
Você não - você digita HEAD, literalmente. Git já sabe o que HEADsignifica. No entanto, se você realmente quisesse atribuir um SHA1, poderia usar git logpara examinar o log de confirmação.
Âmbar
quando eu corro, git reset --hard HEADele me traz de volta ao commit verificado ... eu postarei o comando exato que usei para fazer check-out.
Yuval Karmi
(Se você está curioso, pode escrever git rev-parse HEADe ver que ele dá-lhe uma SHA1 correspondente ao seu mais recente cometer.)
Âmbar
Adicionei duas novas opções acima, experimente-as (em ordem - experimente a versão do checkout primeiro).
Amber
56

Para desfazer git checkoutfazer git checkout -, à semelhança cde cd -em shell.

Gaylord Thankyou Johnson
fonte
16

Você provavelmente quer git checkout master, ou git checkout [branchname].

wuputah
fonte