标签:execute git branches python gitlab master branch print 分支
- 背景
处于配置管理一职,在每次发布上线后,需要将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)
运行情况如下:
- 结语
当前只适用于目前的情况,出现冲突需要手动解决。
标签:execute,git,branches,python,gitlab,master,branch,print,分支 来源: https://blog.csdn.net/Yeva__/article/details/120448959
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。