example - Cambiar temporalmente la copia de trabajo a un Git commit específico
git reset (3)
¿Cómo cambiar a un Git commit específico sin perder todos los commit hechos después de eso ?
Quiero que se cambien los archivos locales, pero la base de datos de confirmaciones permanecerá intacta, solo el puntero de la posición actual está configurado para la confirmación seleccionada actualmente.
Quiero cambiar el estado de los archivos a un compromiso específico, ejecutar el proyecto y, cuando haya terminado, restaurar los archivos para volver al último compromiso.
¿Cómo hacer esto sin comprimir toda la carpeta del proyecto?
Además de las otras respuestas aquí que le muestran cómo hacer git checkout <hash-that-you-want>
, vale la pena saber que puede volver al lugar donde estaba usando git checkout @{-1}
. Esto suele ser más conveniente que git checkout original-branch
.
Primero, use git log
para ver el registro, seleccione la confirmación que desea, anote el hash sha1 que se usa para identificar la confirmación. A continuación, ejecute git checkout hash
. Después de que haya terminado, git checkout original_branch
. Esto tiene la ventaja de no mover la CABEZA, simplemente cambia la copia de trabajo a una confirmación específica.
Si se encuentra en una determinada sucursal de mybranch
, simplemente continúe y git checkout commit_hash
. Luego puedes regresar a tu sucursal con git checkout mybranch
. Tuve el mismo juego dividiendo un error hoy :) Además, debes saber sobre git bisect .