Pygit2 - 合并一个没有快进的分支

时间:2014-10-11 02:03:02

标签: python git merge libgit2 pygit2

我实际上是在尝试做一个“git merge --no-ff branch”来合并我的分支。看看Pygit2文档,我并不确定这样做的正确方法是什么。直接的想法是做这样的事情:

repo.merge(branch.target)

但是,我没有看到任何合并与no-fastforward的选项。有没有人广泛使用pygit2可以给我任何见解?非常感谢所有的帮助。

1 个答案:

答案 0 :(得分:3)

  

但是,我没有看到任何与快速合并的选项。

这是因为,来自pygit2 merge documentation

  

它只进行合并,在快进的情况下不提交或更新分支引用。

这意味着您可以在合并完成后决定创建新提交。

  

您现在可以检查索引文件是否存在冲突,并返回给用户解决是否存在。
  一旦没有冲突,您可以使用这两个父项创建提交。

other_branch_tip = '5ebeeebb320790caf276b9fc8b24546d63316533'
repo.merge(other_branch_tip)

user = repo.default_signature()
tree = repo.index.write_tree()
new_commit = repo.create_commit('HEAD', user, user, tree,
                                [repo.head.target, other_branch_tip])