如何git-pull除了一个文件夹

时间:2010-03-10 12:31:11

标签: git

有没有办法git pull存储库中的所有文件夹,但有一个?我不想创建一个.gitignore文件,因为其他人可能想要这个文件夹 - 它现在对我来说太大了。

谢谢!

2 个答案:

答案 0 :(得分:10)

如果你想得到正义,你可以:

mkdir <repo>
cd <repo>
git init
git remote add -f origin <url>
git config core.sparsecheckout true
echo <dir1>/ >> .git/info/sparse-checkout
echo <dir2>/ >> .git/info/sparse-checkout
echo <dir3>/ >> .git/info/sparse-checkout
git pull origin master

我找到了一个很好的参考here

答案 1 :(得分:9)

我不认为你可以做部分拉动,但你可以尝试看看如果你拉进一个没有完全检查出来的工作树会发生什么。

Git1.7以来,您可以sparse checkout执行illustrated here,这意味着您的工作树在填充其内容时会明确排除该特定文件夹。

现在,如果该目录很大,最好将其隔离在一个自治的Git存储库中,允许其他用户将其称为 a submodule