私は基本的に「git merge --no-ff branch」を実行してブランチをマージしようとしています。Pygit2 のドキュメントを見ると、これを行う正しい方法がまったくわかりません。直接の考えは、次のようなことをすることです:
repo.merge(branch.target)
ただし、早送りなしでマージするためのオプションはありません。私に洞察を与えることができるpygit2を広く使用している人はいますか? すべてのヘルプは大歓迎です。
ただし、早送りなしでマージするためのオプションはありません。
これは、pygit2 マージのドキュメントから:
マージのみを行い、 fastforward の場合はブランチ参照をコミットまたは更新しません。
つまり、マージ自体が完了したら、新しいコミットを作成することを決定できます。
インデックス ファイルの競合を検査し、競合がある場合はユーザーに解決を依頼できるようになりました。
競合がなくなったら、これら 2 つの親でコミットを作成できます。
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])