如何使用 PyGithub 从一个提交到另一个分支进行更改?

问题描述

我有一个仓库,其中有两个分支: 主人和 master_one。 我在 master_one 中不存在的 master 分支中有一个提交(commit1)。 现在我又从 master_one 创建了一个分支“temp”。 我想使用 PyGithub 将 commit1 中存在的更改合并到我的分支 temp。 如果我使用以下代码从 master 创建一个分支,我可以合并它:

repo.merge(branch_name,commit_sha_key,"merge to master") 

其中 commit_sha_key 是 commit1 的 sha。

但同样的事情我无法为我从 master_one 创建的临时分支做。

有什么办法吗? 谢谢

解决方法

GitHub api 不支持 Cherry pick,因此您必须从命令行执行此操作:

# ~~~ snip initialize git repo locally,maybe using git clone  ~~~
import os
os.system(f"git cherry-pick {commit_sha_key}")
os.system("git push")  # you may need to do "git push origin temp"
# ~~~ snip ~~~ cleanup,if you want.