В зависимости от того, что вы пытаетесь достичь, у вас есть два варианта. Если вы хотите иметь возможность отслеживать изменения в файлах, то я бы познакомил сочувствия. Если вы не заботитесь о местных изменениях, то я бы использовал git archive
.
Совершать символики
Вы можете посвятить себя символическим ссылкам, которые вы заботитесь о файлах, используйте запасную проверку, чтобы получить их.
ln -s contrib/completion/git-completion.bash git-completion.bash
git add git-completion.bash
Это позволит вам отредактировать файлы и все еще совершать изменения в них.
Git archive
Это просто извлечет контент, который вы ищете. Изменения не будут отслеживать в репозитории.
# 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 -
РЕДАКТИРОВАТЬ: Похоже github
не поддерживается git archive --remote
. Анкет Он все еще включен ниже в случае, если кто -то использует другую службу хостинга, которая позволяет это.
Git archive с - -рекот
Используя архив GIT, вы даже можете загрузить изменения непосредственно из удаленного репозитория, не клонируя репозиторий сначала. Недостатком является то, что вы не можете отслеживать локальные изменения с 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 -
Теперь у вас будут файлы в текущем каталоге.