extraer una revisión específica del repositorio git

0

Mi nivel con respecto a git es beginner: básicamente soy capaz de comprometer, tirar, empujar y cambiar / crear ramas.

Mi commit actual es 222222222y fue uno anterior en la misma rama 111111111.

Quiero recuperar la rama como estaba en commit 111111111, copiar los archivos que contenía y volver a 222222222para poder continuar mi trabajo basado en ese commit. Revertir parece ser lo que necesito.

Usando revert, puedo tener lo siguiente (revert también se confirma si lo entiendo correctamente):

  1. cometer 111111111
  2. cometer 222222222
  3. volver a 111111111(también se compromete de 111111111nuevo)
  4. volver a 222222222(también se compromete de 222222222nuevo)

Pero no quiero que las reversiones aparezcan en mi historia.

Entonces, ¿cómo puedo tomar una instantánea de mi repositorio en el momento de mi confirmación 111111111?

Olivier Grégoire
fuente

Respuestas:

2

En Git, los commits mismos son instantáneas del repositorio. Solo necesitas cambiar entre ellos.


No, nogit revert es lo que necesita, porque está hecho específicamente para que las reversiones aparezcan en la historia. Las acciones descritas son lo que hace, en cambio.git checkout

Para permanecer 22222pero copiar algunos o todos los archivos de una confirmación anterior:

git checkout 11111 file1.c file2.txt dir1
[or]
git checkout 11111 .

(como siempre, el .medio "directorio actual")

Para cambiar temporalmente todo el repositorio a una confirmación anterior, luego regrese:

git checkout 11111
[copy files]
git checkout master
Gravedad
fuente
¡Maravilloso! Exactamente lo que necesitaba :)
Olivier Grégoire