When simply downloading and using the software from github, you can use the depth parameter to download the first code. However, for projects with submodules, execute git submodule update --init --recursive --depth=1 because the submodule is a shallow clone. , so the target commit cannot be checked out.
Is there any solution to this situation?
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 reportedgit ls-tree HEAD:(submodule的路径)
Find the commit you want, such ascd to the clone repo of submodule (such as
.git/modules/tidy-html5
), fetch那个commitgit fetch abb031
git submodule update --no-fetch