Solución
Basta con ejecutar el siguiente comando (remplazar <hash>
):
$ git checkout <hash>
Explicación
Para poder realizar el salto de una confirmación (commit) a otra, debes conocer el número (hash) por el cual quedó registrado. Tomando en cuenta que el libro oficial de Git en español, sección 2.3 Fundamentos de Git - Viendo el histórico de confirmaciones, nos dice:
Después de haber hecho varias confirmaciones, o si has clonado un repositorio que ya tenía un histórico de confirmaciones, probablemente quieras mirar atrás para ver qué modificaciones se han llevado a cabo. La herramienta más básica y potente para hacer esto es el comando git log
.
Al ejecutar el comando git log
sobre tu proyecto, tendrás algo parecido a esto:
$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
Cambiado el número de versión
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 16:40:33 2008 -0700
Removido código de prueba innecesario
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 10:31:28 2008 -0700
Primera confirmación
El hash (o número de confirmación) será el conjunto alfanumérico que está seguido de la palabra commit. Copiarás dicho hash para utilizarlo con el comando git checkout <hash>
que se encargará de mover el puntero HEAD de tu proyecto a la confirmación indicada. Ejemplo visual (tomando en cuenta que estás el proyecto está la rama master
):
De esta forma podemos percibir que aunque tu puntero ahora apunta a una captura anterior, tus cambios posteriores a ella siguen existiendo.
Puedes obtener más información oficial y en español relacionado a este tema en la siguiente liga: 6.1 Las herramientas de Git - Selección de confirmaciones de cambios concretas
SHA corto: Simplemente dándole los primeros caracteres del código SHA-1, Git es lo suficientemente inteligente como para figurarse cual es la confirmación de cambios (commit) deseada. Es necesario teclear por lo menos 4 caracteres y estos han de ser no ambiguos --es decir, debe existir un solo objeto en el repositorio cuyo código comience por dicho trozo inicial del SHA--.