有没有办法只从git存储库下载一个给定的子目录?假设我想从
https://github.com/djdeath/toys.git只获取nyancat目录.
我可以克隆整个存储库并忽略我不想要的文件,或者转到https://github.com/djdeath/toys/tree/master/nyancat并逐个下载相关文件.我认为必须有一个更简单的方法.
注意我不是在询问是否可以克隆目录,这是asked before,显然是不可能的.我只是对快速获取文件感兴趣,不需要提交,或者再次使用git.
最佳答案
git-archive
命令将完成您想要的任务,但它需要在已经克隆的repo上运行,因此如果您有SSH访问主机,您可以执行以下操作:
cd /path/to/destination
ssh user@host "cd /path/to/repo && git archive HEAD dir/you/want" | tar xf -
或者,通过网络传输的压缩:
cd /path/to/destination
ssh user@host "cd /path/to/repo && git archive HEAD dir/you/want | gzip" | tar xzf -