单纯从 github 下载使用软件时,可以通过 depth 参数来下载最先的代码,但是对于有 submodule 的项目,执行 git submodule update --init --recursive --depth=1 ,因为 submodule 是 shallow clone, 所以无法 checkout 到目标 commit。
这种情况有什么办法解决?
仅有的幸福2017-05-02 09:53:54
I only found a method that fetch/clone once, which is quite troublesome:
git submodule update --init --depth=1
At this time, the commit obtained by clone is usually not the one registered by the submodule, so an error will be reported
git ls-tree HEAD:(submodule的路径)
Find the commit you want, such as
`160000 commit abb03163aeafb8b7fc1efd2413d9f077bcdbeed9 tidy-html5` 的 `abb031`就是
cd to the clone repo of submodule (such as .git/modules/tidy-html5
), fetch那个commit git fetch abb031
git submodule update --no-fetch