문제

몇 가지 튜토리얼에서 빌리면 GIT Repo에서 특정 폴더를 드문 점검 할 수 있습니다.

mkdir git-completion && cd git-completion
git init
git remote add –f origin https://github.com/git/git.git
git config core.sparsecheckout true
echo contrib/completion/ >> .git/info/sparse-checkout
git pull origin master

예를 들어, 내가 git-completion.bash, git-completion.tcsh, 등에있는 등 스크립트 contrib/completion 이 repo의 폴더.

위의 스파스 체크 아웃은 원하는 폴더를 반환하지만 중첩 된 파일 스트루큐어가있는 것 같습니다.

git-completion/contrib/completion/git-completion.bash

파일을 대신 부모 디렉토리로 가져올 수 있습니까?

git-completion/git-completion.bash
도움이 되었습니까?

해결책

당신은 이것을 할 수 있습니다 git show:

git show <revision>:path/to/file.txt > different/path/to/otherfile.txt

특정 경우 :

git show HEAD:git-completion/contrib/completion/git-completion.bash > git-completion/git-completion.bash

체크 아웃하려는 각 파일에 대해 반복하십시오. 그러나 실제로 하위 디렉토리의 이유는 이것이 이것이 묶일 때 git 릴리스, 그들은 contrib/completion 하위 디렉토리이므로 저장소 레이아웃에 익숙해지는 것이 좋습니다 ...

다른 팁

달성하려는 것에 따라 두 가지 옵션이 있습니다. 파일의 변경 사항을 여전히 추적 할 수 있으려면 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 -

이제 현재 디렉토리에 파일이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top