我实际上是在尝试做一个“git merge --no-ff branch”来合并我的分支。看看Pygit2文档,我并不确定这样做的正确方法是什么。直接的想法是做这样的事情:
repo.merge(branch.target)
但是,我没有看到任何合并与no-fastforward的选项。有没有人广泛使用pygit2可以给我任何见解?非常感谢所有的帮助。
答案 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])