在python脚本中,我尝试在git存储库上创建并将标记推送到origin。我使用gitpython-1.0.2。
我可以检出现有的标签,但无法找到如何将新标签推送到远程标签。
非常感谢
答案 0 :(得分:9)
new_tag = repo.create_tag(tag, message='Automatic tag "{0}"'.format(tag))
repo.remotes.origin.push(new_tag)
答案 1 :(得分:2)
使用gitpython创建新标记:
ID Group1 Group2 Cons
0 A001 BD BD GH A BD BD GH A 0.333333
1 A002 BD BD GH A BD BD GH A 0.333333
2 A003 BD BD GH A BD BD GH A 0.333333
3 A004 BD BD GH A BD BD GH A G 0.333333
4 A005 BD BD GH A BD BD GH A G 0.333333
5 A006 BD BD GH A BD BD GH A G 0.333333
6 A007 BD BD GH A BD BD GH A F 0.333333
7 A008 BD BD GH A BD BD GH A F 0.333333
8 A009 BD BD GH A BD BD GH A F 0.333333
9 A010 AB AB 0.600000
10 A011 AB AB 0.600000
11 A012 AB AB 0.600000
12 A013 DF DC AB 0.600000
13 A014 DF DC AB 0.600000
14 A015 DF DC DF DC 0.333333
15 A016 AB CDE FGHI-JSHD JS AN CDE FGHI-JSHD JS 1.000000
16 A017 HD MV APS MG HD NV ALS BA HDJ 1.000000
17 A018 LA JF NV WJ LA JF NV OHB 1.000000
推送到远程
from git import Repo
obj = Repo("directory_name")
obj.create_tag("tag_name")
答案 2 :(得分:0)
我使用下面的代码片段创建了一个标签并将其推送到远程。您可能需要通过在每个 git 操作上添加 try ... catch 块来处理异常。
repo = git.Repo(os.path.abspath(repo_path)
repo.git.tag('-a', tagname, commit, '-m', '')
repo.git.push('origin', tagname)