달성하려는 것에 따라 두 가지 옵션이 있습니다. 파일의 변경 사항을 여전히 추적 할 수 있으려면 Symlinks를 커밋합니다. 로컬 변경에 신경 쓰지 않으면 사용합니다. git archive
.
Symlinks를 커밋하십시오
관심있는 파일에 Symlinks를 커밋 할 수 있으며 여분의 체크 아웃을 사용하여이를 얻을 수 있습니다.
ln -s contrib/completion/git-completion.bash git-completion.bash
git add git-completion.bash
이를 통해 파일을 편집하고 변경 사항을 여전히 커밋 할 수 있습니다.
git 아카이브
이것은 단순히 원하는 콘텐츠를 추출합니다. 저장소에서 변경 사항이 추적되지 않습니다.
# 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
. 누군가가 그것을 허용하는 다른 호스팅 서비스를 사용하는 경우에도 여전히 아래에 포함되어 있습니다.
-remote와 함께 git 아카이브
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 -
이제 현재 디렉토리에 파일이 있습니다.