2011-01-22 33 views
7

Digamos, mi git log actual esver toda la historia de Git

commit3

commit2

commit1

puedo restablecer la cabeza a commit2.

Ahora quiero volver a commit3, pero olvidemos el SHA-1 de commit3, por lo que quiero mirar el registro, pero "git log" sólo mostrará commit2, commit1, mi pregunta es ¿cómo para restablecer a commit3 o dejar que el registro muestre también commit3 ahora?

Gracias

Respuesta

10

Usa git reflog para encontrar la referencia anterior y exprime git log directamente. Tenga en cuenta que el reflog se purga periódicamente, y los commits antiguos se eliminarán eventualmente a menos que sean parte de una sucursal. Si desea deshacer un commit pero dejarlo en el historial, use git revert para deshacerlos sin eliminarlos del historial.

+0

O, si es inédito, basta con crear una diferente rama en el compromiso de mantener. – Cascabel

4

El comando

git reflog 

le mostrará una lista de agentes de mantenimiento que han sido la cabeza. En otras palabras, muestra una lista de confirmaciones en el orden en que se han comprobado. En esa lista también verá la sintaxis [email protected]{1}, [email protected]{2} etc. Esa es una forma de abordar los HEAD anteriores.

I su caso git checkout [email protected]{1} debería verificar commit3, porque era la CABEZA antes de la CABEZA actual.

0

Hay dos maneras: -

clásico: git reflog

cuadro grande :) git log --graph --decorate --oneline

Cuestiones relacionadas