Dependendo do que você está tentando realizar, você tem duas opções. Se você deseja rastrear alterações nos arquivos ainda, eu comprometeria symblinks. Se você não se importa com mudanças locais, eu usaria git archive
.
Comprometa -se symblinks
Você pode se comprometer com os arquivos com os quais se preocupa, use a compra sobressalente para obtê -los também.
ln -s contrib/completion/git-completion.bash git-completion.bash
git add git-completion.bash
Isso permitirá que você edite os arquivos e cometam alterações ainda.
Arquivo Git
Isso simplesmente extrairá o conteúdo que você está procurando. As alterações não serão rastreadas no repositório.
# generic
git archive <revision>:<path> | tar -xf -
#specific to your example
git clone --bare https://github.com/git/git.git ~/git-completion-bare
mkdir git-completion && cd git-completion
git archive --remote ~/git-completion-bare master:contrib/completion/ | tar -xf -
Editar: parece github
não suporta git archive --remote
. Ainda está incluído abaixo, caso alguém esteja usando um serviço de hospedagem diferente que o permita.
Arquivo Git com - -Remote
Usando o Git Archive, você pode até baixar as alterações diretamente de um repositório remoto sem clonar o repositório primeiro. A desvantagem é que você não pode rastrear alterações locais com o Git.
# General form
git archive --remote <url> <revision>:<path> | tar -xf -
# your example
git archive --remote https://github.com/git/git.git master:contrib/completion/ | tar -xf -
Agora você terá os arquivos no diretório atual.