Git子模块init异步

Lek*_*sat 13 git git-submodules

当我git submodule update --init第一次运行具有大量子模块的项目时,这通常需要花费大量时间,因为大多数子模块都存储在慢速公共服务器上.

是否有可能异步初始化子模块?

Kar*_*zin 5

Linux的:

cat .gitmodules | grep -Po '".*"' | sed 's/.\(.\+\).$/\1/' | while sleep 0.1 && read line; do git submodule update --init $line & done
Run Code Online (Sandbox Code Playgroud)

苹果电脑:

cat .gitmodules | grep -o '".*"' | cut -d '"' -f 2 | while sleep 0.1 && read line; do git submodule update --init $line & done
Run Code Online (Sandbox Code Playgroud)


Ben*_*oss 5

从 Git 2.8 开始,你可以这样做:

git submodule update --init --jobs 4
Run Code Online (Sandbox Code Playgroud)

其中 4 是并行下载的子模块数量。