2012-06-26 134 views
1

我有一个非常大的Web项目,有很多pdf,图像,php文件。我将文件作为单个项目导入svn。我使用svn浅结帐签出子树的一部分,然后使用分支和标签等工作副本来节省空间并加快结帐时间。svn vs git浅(稀疏)结账 - 分支,提交

我想知道这是否可能与git。我读过git不允许你在执行稀疏结帐后提交或分支。这对于更新的git版本是否仍然如此?

+0

看到类似的帖子:http://stackoverflow.com/questions/600079/is-there-any-way-to-clone-a -git-repositorys-sub-directory-only –

回答

2

使用下面的命令,我能够从位于git://github.com/git/git.git Git仓库检查只是Documentation/目录:

git init 
git remote add -f github-git git://github.com/git/git.git 
git config core.sparsecheckout true 
echo Documentation/ >> .git/info/sparse-checkout 
git pull github-git master 

git documentation不说有关无法提交新的变化什么,所以它听起来像应该工作得很好。事实上,我测试了这一点,并且我可以证实我能够在做一个稀疏结帐后提交新的更改。

(我使用Git版本1.7.0.4)

+0

不,它没有按预期工作。它拉动.git/object内的所有内容。使用稀疏结帐与常规结帐相比,我看不到太多的节省空间。在svn中,我可以执行'svn co file:///repos/proj/trunk/templates-1.0 templates-1.0 --depth immediates',并且只提取我感兴趣的子树而不需要任何额外的成本。 – surajz