Skip to content

Instantly share code, notes, and snippets.

@waflessnet
Last active October 16, 2023 20:23
Show Gist options
  • Save waflessnet/5ffcb08abcb248a74029a5526d505def to your computer and use it in GitHub Desktop.
Save waflessnet/5ffcb08abcb248a74029a5526d505def to your computer and use it in GitHub Desktop.
obtener un listado de archivos de otro commit a la rama actual
#!/bin/bash
# recuperar un listado de archivos de otro commit a la rama actual
# <COMMIT-ID> : el hash del commit donde estan los archivos que quieres recuperar
# <EXPR> : expresion para filtrar el listado
git ls-tree --name-only -r <COMMIT-ID> | grep -i <EXPR> | xargs -I {} git checkout <COMMIT-ID> '{}'
# ejemplo:
# recuperar los archivos que estan en la carpeta test/ del commit 6f425124 a la rama actual
# <COMMIT-ID>: 6f425124
# <EXPR>: test/
git ls-tree --name-only -r 6f425124 | grep -i test/ | xargs -I {} git checkout 6f425124 '{}'
# recuperar un solo archivo en especifico
#
# <COMMIT-ID>: el hash del commit donde estan el archivo que quieres recuperar
# <FILE> : el path del archivo que se requiere recuperar
git checkout <COMMIT-ID> <FILE>
#ejemplo:
# recuperar solo el archivo test/data/testing.json del commit ff425190
#
# <COMMIT-ID>: ff425190
# <FILE> :test/data/testing.json
git checkout ff425190 test/data/testing.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment