并行化git的脚本来提取多个存储库

时间:2018-06-11 20:49:50

标签: linux git shell npm

当我每天早上上班时,我会运行一个脚本来提取我公司使用的多个存储库:

#!/bin/bash
cd ~/myCompany/rep1
git pull --rebase
git submodule update
cd ~/myCompany/rep2
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep3
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep4
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep5
git pull --rebase
git submodule update
echo "done!"

如您所见,需要构建不同的存储库,而其他存储库需要submodule update等等。

我想知道是否有任何方法可以让这个脚本并行运行每个git pull和它们各自的命令而不是一个接着一个。有谁知道我是如何做到这一点的?

1 个答案:

答案 0 :(得分:3)

使它成为一个函数,在后台调用函数:

#!/bin/bash
npmBuild() {
    cd $1
    git pull --rebase
    npm install
    npm run build
}
npmBuild ~/myCompany/rep2 &
npmBuild ~/myCompany/rep3 &

为那些不是npm的人提供略有不同的功能。