2011-12-09 93 views
4

有没有办法从外国git回购分拣文件,而不克隆整个回购?从git回购没有克隆回购叉文件

+0

您需要克隆,但你可以去掉所有你不想要的。 – Thilo

+0

这是非常接近http://stackoverflow.com/questions/6680709/create-new-git-repo-from-already-existing-repos-subdirectory – Thilo

回答

2

,你可以得到这样做的最接近的是通过使用sparse checkout,这意味着使用Git 1.7+,你仍然需要克隆回购(或使用clone--depth选项做一个浅克隆)。借款主要来自this answer,你可以做到以下几点:

git clone --no-checkout <URL to git repo> myrepo 
cd myrepo 
git config core.sparseCheckout true 
vim .git/info/sparse-checkout # Add files you want checked out 
git checkout <branch you want> 

如果你有Git版本1.7.7-RC0或更高版本,可以设置与clone命令配置选项:

git clone --config core.sparseCheckout=true --no-checkout <URL to git repo> myrepo 

而且,看到以下内容:

+0

thx,但不知何故第一行结果“错误:未知选项'config'“ –

+0

'clone'' --config'选项从Git 1.7.7-rc0开始可用。如果您有以前的版本,请删除'--config core.sparseCheckout = true',并在'git clone'命令之后执行'git config core.sparseCheckout true'。但是你仍然需要一个至少为1.7.0的版本。 –

+0

再次感谢... –

-3

与Subversion不同,git不支持部分签出。