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

atp*_*atp 12 git

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

谢谢!

cfo*_*ish 12

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

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
Run Code Online (Sandbox Code Playgroud)

我发现了一个很好的参考这里.

  • 参考链接不再可用。 (2认同)
  • &lt;url&gt; 在这种情况下将是存储库的 URL。如果你在 GitHub 上托管,它看起来像这样:https://github.com/organisation/repo-name.git (2认同)

Von*_*onC 9

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

Git1.7开始,您可以执行稀疏检出,如此处所示,这意味着您的工作树在填充其内容时将明确排除该特定文件夹.

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