bash将目录下的所有git项目master分支更新到最新
程序员文章站
2022-05-25 20:49:33
...
背景
本程序员公司项目由于微服务化,1个服务1个git仓库。所属子服务累计6个。github上也有一些项目。有些项目经常更新,有些项目则好久都不会更新一次。有些项目要接口合并,旧的接口要合并的前提是没有流量,即其他服务也没有调用该接口。那么多子服务如何快速搜索出代码?
方案
所有的项目都同步到最新,即master分支要更新到最新。保证要搜索的代码与线上保持一致。然后就可以grep了
目录
使用的git平台有3个,github,gitlab, 还有公司的。公司的由于安全问题就不展示了
执行命令
命令后加对应的项目的父级目录
代码
function x-git-update-all-project() {
for project in $(ls $1)
do
if [[ $project == $2 ]]; then
## 要例外的不更新的项目名
else
cd $1/$project
now=$(date +"%y%m%d%H%M")
git checkout -b tmp-update-$now origin/master
git branch -D master
git fetch --all
git checkout -t origin/master
git branch -D tmp-update-$now
git fetch -p
fi
done
}
上一篇: mysql 批量更新
下一篇: Java面向对象和类