La clonación de un solo camino de un repositorio git desnuda
-
20-09-2019 - |
Pregunta
Estoy tratando de agregar un gancho post-commit a un repositorio desnudo, de manera que cada vez que un commit se hicieron los archivos modificados se instalan automáticamente en un directorio (hardcoded).
¿Hay una manera de buscar un único archivo desde el repositorio?
git-clone no aparece para permitir especificar una ruta, y cualquier otro comando que he encontrado (git-fetch, git-pull) parecen requerir un repositorio Git local existente para trabajar.
¿Hay una manera de hacer esto?
Solución
Usted puede encontrar las respuestas en: ¿Cómo hacer una "exportación git"
En particular, git checkout-index
probablemente va a hacer el trabajo para usted:
git checkout-index -a -f --prefix=/destination/path/
No se olvide de la barra diagonal o este comando no va a hacer exactamente lo que quiere.
Otros consejos
Puede extraer un solo archivo de cualquier revisión en un repositorio desnudo con git show
, utilizando la sintaxis git show <rev>:<filename>
, por ejemplo:.
$ ls branches config description HEAD hooks info objects packed-refs refs $ git show master:COPYING > /tmp/COPYING $ head -5 /tmp/COPYING GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies
Hay un par de ejemplos de el git-show (1) página de manual . Espero que sea de alguna utilidad.