我知道我可以告诉Git的展示秀进步传递命令行参数--progress
到,例如,当进步像混帐:对于子模块获取
Resolving deltas: 98% (123/125)
取指令。但是我们有几个大的子模块,没有显示进展。如何让Git显示克隆子模块的进度(例如,作为获取命令的一部分)?
我知道我可以告诉Git的展示秀进步传递命令行参数--progress
到,例如,当进步像混帐:对于子模块获取
Resolving deltas: 98% (123/125)
取指令。但是我们有几个大的子模块,没有显示进展。如何让Git显示克隆子模块的进度(例如,作为获取命令的一部分)?
我来最接近的是使用这个命令:
git fetch --recurse-submodules=yes --jobs=10
这不是给你一个进度条。但它加快了获取存储库的速度。这帮助我完成了大约30个子模块的微服务项目。
当然,你也可以与其他命令结合这之后,例如,更新仓库没有潜在的冲突:
# run all subprojects updates: Pull on currently selected branches
#git submodule foreach 'git rebase origin/master; true'
git submodule foreach '
export BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
git status -bs
if [[ "master" == $BRANCH_NAME ]]
then
git merge FETCH_HEAD --ff-only
else
echo \"NOTE this branch is $BRANCH_NAME. You must merge/rebase yourself!\"
fi
'
使用Git v2.11.0开始,git submodule
接口接受--progress
选项,你可以使用。它完全符合你的期望。
参见:https://github.com/git/git/commit/72c5f88311dab7149fcca1f6029414ccb776fee8
不幸的是今天的--progress
的支持不是在所有的说明文字(git submodule --help
)公布。