Python教程

python合并master到各开发分支

本文主要是介绍python合并master到各开发分支,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • 背景
    处于配置管理一职,在每次发布上线后,需要将master分支内容合并到各开发分支
  • python模块
    涉及到git和repo库
from git import Repo
from git import Git

conflict_branch = []
# 路径
repo = Repo("D:/gitlab-1/lis")
gitlab = Git("D:/gitlab-1/lis")
# print(repo.branches)
branches = gitlab.execute('git branch')
branches = branches.replace(' ', '')
branches = branches.replace('*', '').split('\n')
print(branches)
print(len(branches))
cnt = 0
for b in branches:
    if b == 'master':
        continue
    gitlab.checkout(b)
    cnt += 1
    # 当前分支
    print("================当前进行中的分支 (%d)===============" % cnt)
    print(repo.active_branch)
    # git pull
    # repo.remote().pull()  # git pull -v origin
    gitlab.execute('git pull')
    try:
        gitlab.execute('git merge origin/master')
        gitlab.execute('git push origin '+b)
        # gitlab.execute('git push')
    except Exception as e:
        gitlab.execute('git merge --abort')
        conflict_branch.append(b)

print("===============conflict================")
print(conflict_branch)

运行情况如下:

运行结果

  • 结语
    当前只适用于目前的情况,出现冲突需要手动解决。
这篇关于python合并master到各开发分支的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!