Git 稀疏结帐仅支持存储库根目录中的文件夹?
Git sparse checkout to only honor a folder at the root of the repo?
我们有一个包含大量项目的回购协议。我只关心 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
通过将 oracle/
写入 $GIT_DIR/info/sparse-checkout
,您告诉 Git 存储库仅使用文件(如果有)填充工作目录 其父目录称为"oracle"。目录
oracle/
directory123/sub1/sub2/oracle/
directoryabc/sub1/sub2/sub3/oracle/
都满足这个条件
如果您想将 sparse checkout 限制在 oracle
目录,即 在 Git 存储库的根部 ,您需要写,不是 oracle/
,而是 /oracle/
(注意前导正斜杠)到 $GIT_DIR/info/sparse-checkout
.
我们有一个包含大量项目的回购协议。我只关心 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
通过将 oracle/
写入 $GIT_DIR/info/sparse-checkout
,您告诉 Git 存储库仅使用文件(如果有)填充工作目录 其父目录称为"oracle"。目录
oracle/
directory123/sub1/sub2/oracle/
directoryabc/sub1/sub2/sub3/oracle/
都满足这个条件
如果您想将 sparse checkout 限制在 oracle
目录,即 在 Git 存储库的根部 ,您需要写,不是 oracle/
,而是 /oracle/
(注意前导正斜杠)到 $GIT_DIR/info/sparse-checkout
.