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

这篇博客介绍了如何在bash环境下批量更新多个git仓库的master分支至最新状态,以确保代码与线上保持一致,便于进行代码搜索和接口合并。涉及的git平台包括github和gitlab。
摘要由CSDN通过智能技术生成

背景

本程序员公司项目由于微服务化,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 stash
            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
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值