¿Cómo volver a la versión más reciente en Git?
Recientemente me mudé de SVN a Git y estoy un poco confundido acerca de algo. Necesitaba ejecutar la versión anterior de un script a través de un depurador, así que hice git checkout <previous version hash>
e hice lo que tenía que hacer.
Ahora quiero volver a la versión más reciente, pero no conozco el hash. Cuando escribo git log
no lo veo.
¿Cómo puedo hacer esto? Además, ¿existe una manera más fácil de cambiar las versiones que escribiendo hashes, algo como "retroceder dos versiones" o "ir a la más reciente cronológicamente"?
git checkout master
debería funcionar. Para retroceder dos versiones, podrías decir algo como git checkout HEAD~2
, pero es mejor crear una rama temporal basada en ese tiempo, asígit checkout -b temp_branch HEAD~2
Cuando realiza el pago de una confirmación específica, git crea una rama separada. Entonces, si llamas:
$ git branch
Verás algo como:
* (detached from 3i4j25)
master
other_branch
Para volver al encabezado de la rama maestra, solo necesita realizar el pago en su rama maestra nuevamente:
$ git checkout master
Este comando eliminará automáticamente la rama separada.
Si git checkout
no funciona, probablemente haya modificado archivos que entran en conflicto entre ramas. Para evitar que pierdas el código, git requiere que manejes estos archivos. Tienes tres opciones:
Guarde sus modificaciones (puede mostrarlas más tarde):
$ git stash
Descarte los cambios restableciendo la rama separada:
$ git reset --hard
Crea una nueva rama con las modificaciones anteriores y confírmalas:
$ git checkout -b my_new_branch $ git add my_file.ext $ git commit -m "My cool msg"
Después de esto , puedes volver a tu rama maestra (versión más reciente):
$ git checkout master
Esto funcionó para mí (todavía estaba en la rama maestra):
git reset --hard origin/master
Algunas de las respuestas aquí suponen que está en la rama maestra antes de decidirse a verificar una confirmación anterior. Este no es siempre el caso.
git checkout -
Le indicará la rama en la que se encontraba anteriormente (independientemente de si era maestra o no).