La clonazione di un singolo percorso di un repository git nuda
-
20-09-2019 - |
Domanda
Sto cercando di aggiungere un post-commit hook a un repository nudo, in modo tale che ogni volta che un commit è fatto i file modificati vengono installati automaticamente in una directory (hardcoded).
C'è un modo per recuperare un singolo file dal repository?
git-clone non sembra consentire per specificare un percorso, e tutti gli altri comandi che ho trovato (git-fetch, git-pull) sembrano richiedere un repository git locale esistente a lavorare.
C'è un modo per fare questo?
Soluzione
Si possono trovare le risposte a: Come fare un "esportazione git"
In particolare, git checkout-index
probabilmente farà il lavoro per voi:
git checkout-index -a -f --prefix=/destination/path/
Non dimenticare la barra finale o questo comando non farà esattamente quello che vuoi.
Altri suggerimenti
È possibile estrarre un singolo file da qualsiasi revisione in un repository nudo con git show
, utilizzando la sintassi di git show <rev>:<filename>
, per esempio:.
$ 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
Ci sono un paio di esempi in il git-spettacolo (1) pagina man . Spero che sia di qualche utilità.