如何使用Pygithub切换到新分支?

9

这是我所学到的内容:

g = Github("user", "pass")
repoName = "apiTest"
print "Get all repos:"
for repo in g.get_user().get_repos():
print "\t%s" % repo.name

print "<--------------------------------------------------->"

print "Get all branches in repo %s:" % repoName
for branch in g.get_user().get_repo(repoName).get_branches():
print "\t%s" % branch.name

print "<--------------------------------------------------->"

print "Get last commit message in repo %s:" % repoName
branch = g.get_user().get_repo(repoName).get_branch("dev")
lastCommit = branch._commit.value.commit
print "\t%s" % lastCommit._message.value
print "\t%s"

print "<--------------------------------------------------->"
fc = repo.update_file("/README.md", "testing PyGithub", "test commit", fc.sha)
print fc

但是我想知道如何切换到一个新的分支。我在网上没有找到任何例子。非常感谢。

1个回答

24

您可以使用PyGithub的create_git_ref函数创建一个新分支。以您上面的例子为例:

g = Github("user", "pass")
repoName = "apiTest"
source_branch = 'master'
target_branch = 'newfeature'

repo = g.get_user().get_repo(repoName)
sb = repo.get_branch(source_branch)
repo.create_git_ref(ref='refs/heads/' + target_branch, sha=sb.commit.sha)

1
鉴于源分支可能是“master”或“main”,您可以通过repo.default_branch编程方式获取名称。 - james.sw.clark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接