cómo usar git checkout para pagar una confirmación específica del historial de confirmaciones a otra carpeta

considere que tengo esto en mi logging de git:
cometer 847a363f6676bf5d07c42d6ebec834fea1c9a363

——————- Correcciones:
Déjame hacer correcciones. Yo uso git como herramienta de copy de security y control de versiones. Quiero get una versión anterior en mi historial de confirmaciones sin afectar nada en mi directory de trabajo actual. Solo quiero una copy de todos mis files en un número de compromiso determinado en un directory por separado.

Creo que quieres

 git read-tree -u --prefix=path/to/dest/ 847a363f6676bf5d07c42d6ebec834fea1c9a363 

Editar: ah, no, dado

sin afectar nada en mi directory de trabajo actual. Solo quiero una copy de todos mis files en un número de compromiso determinado en un directory por separado

mejor es

 mkdir -p /path/to/dest GIT_INDEX_FILE=.git/junk GIT_WORK_TREE=/path/to/dest \ git read-tree -u 847a363f6676bf5d07c42d6ebec834fea1c9a363 rm .git/junk 

Otra posibilidad:

 mkdir -p /path/to/it git archive 847a363f6676bf5d07c42d6ebec834fea1c9a363 | tar Cx /path/to/it 

lo cual podría ser incluso mejor si desea hacer cualquier filtrado en el path de salida, consulte los attributes export-ignore y export-subst .

Lo que quieres es git worktree . Use git worktree add para git worktree add la confirmación en otro directory. Es bastante fácil de usar, pero te dejo leer el documento para saber cómo hacerlo exactamente …