如何通过pygit2进行git合并
问题内容:
我尝试将分支合并到母版中:
repo = pygit2.Repository("/path/to/repo/")
branch = repo.lookup_branch("upstream/branch", pygit2.GIT_BRANCH_REMOTE)
oid = branch.target
merge_result = repo.merge(oid)
而且merge_result包含ff
oid(如documentaion中所述),并且repo不变。
接下来我该怎么做才能更改存储库?
问题答案:
合并功能执行合并(或在这种情况下告诉您可以跳过它),但是是否要将当前分支移动到新位置取决于您(或工具的用户)。
这样做与您要更改参考的任何其他时间相同。在这种情况下,您要转到当前分支,方法是解析HEAD
为非符号引用并设置其目标。
repo.lookup_reference('HEAD').resolve().target = merge_result.fastforward_oid