Git Submodules && Sparse checkout
步骤备忘:
1,增加子模块 ,这里会把所有的内容 clone 下来, 在 5步的时候,会清除掉不需要的文件。
git submodule add git@aaaaa.com/asdfasdfasdfasdfasdfasdfasdf.git subpath
2, 开启子模块 sparse
git –C subpath config core.sparseCheckout true
3, git submodule absorbgitdirs
4, 部分签出的设置,注意在 echo 的时候 linux 可能需要加 单引号 , windows 不需要
echo java-client/aaaaa/* >> .git/modules/subpath/info/sparse-checkout
echo java-client/aaaaa/bbbbb/cccc.txt >> .git/modules/subpath/info/sparse-checkout
注: java-client/…. 这部分是子模块git中的路径,可以使用通配,也可以使用文件路径
5, 强制更新一下,清理多余的文件
git submodule update --force –checkout subpath
问题:
使用
git clone –recursive git.aaaaaa/aaaaaa.git
进行整体获取,上面的设置会失效。
如何解决?
https://docs.gitlab.com/ee/topics/git/partial_clone.html ,这个先做为参考,后面再看如何解决。
参考:
https://stackoverflow.com/questions/52780680/git-submodule-prepare-for-sparse-checkout
1,