3

我们有一个包含大量项目的仓库。我只关心 repo 中的“oracle”项目。但是,在拉下代码库后,我在其他文件夹中发现了名为“oracle”的子目录。有没有办法只抓取匹配的父文件夹?

git init <repo>
cd <repo>
git remote add -f origin <url>

git config core.sparseCheckout true

echo "oracle/" >> .git/info/sparse-checkout

输出

#ls -l
  oracle
  directory123
  directoryabc

#find . | grep "oracle"
  directory123/sub1/sub2/oracle
  directoryabc/sub1/sub2/sub3/oracle
4

1 回答 1

4

通过写入oracle/$GIT_DIR/info/sparse-checkout您是在告诉您的 Git 存储库仅使用其父目录称为 "oracle" 的文件(如果有)填充工作目录。目录

oracle/
directory123/sub1/sub2/oracle/
directoryabc/sub1/sub2/sub3/oracle/

都满足这个条件。

如果要将稀疏检出限制在Git 存储库的根oracle目录,则需要将.oracle//oracle/$GIT_DIR/info/sparse-checkout

于 2016-04-16T06:25:19.283 回答