欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

bash将目录下的所有git项目master分支更新到最新

程序员文章站 2022-05-25 20:49:33
...

背景

本程序员公司项目由于微服务化,1个服务1个git仓库。所属子服务累计6个。github上也有一些项目。有些项目经常更新,有些项目则好久都不会更新一次。有些项目要接口合并,旧的接口要合并的前提是没有流量,即其他服务也没有调用该接口。那么多子服务如何快速搜索出代码?

方案

所有的项目都同步到最新,即master分支要更新到最新。保证要搜索的代码与线上保持一致。然后就可以grep了

目录

bash将目录下的所有git项目master分支更新到最新
使用的git平台有3个,github,gitlab, 还有公司的。公司的由于安全问题就不展示了

执行命令

bash将目录下的所有git项目master分支更新到最新
命令后加对应的项目的父级目录

代码

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
}