2012-11-05 38 views
4

有没有办法只从git仓库下载给定的子目录?假设我只想从https://github.com/djdeath/toys.git获取nyancat目录。有没有办法只从git下载子目录?

我可以克隆整个存储库并忽略不需要的文件,或者转到https://github.com/djdeath/toys/tree/master/nyancat并逐一下载相关文件。我认为必须有一个更简单的方法。

注意我不是问是否有可能克隆的目录,这是asked before,显然是不可能的。我只是想快速获取这些文件,而不需要重新提交,或者再次使用它们。

+0

缺乏这种能力是git最糟糕的事情。 –

回答

2

git-archive命令会做很多你想要的东西,但它需要对已经克隆回购操作,因此,如果你有到主机SSH访问,你可以这样做:

cd /path/to/destination 
ssh [email protected] "cd /path/to/repo && git archive HEAD dir/you/want" | tar xf - 

或者,与网络传输压缩:

cd /path/to/destination 
ssh [email protected] "cd /path/to/repo && git archive HEAD dir/you/want | gzip" | tar xzf - 
0

嘿,我刚刚wrote a script

使用

 python get_git_sub_dir.py path/to/sub/dir <RECURSIVE> 
相关问题