1

私は基本的に「git merge --no-ff branch」を実行してブランチをマージしようとしています。Pygit2 のドキュメントを見ると、これを行う正しい方法がまったくわかりません。直接の考えは、次のようなことをすることです:

repo.merge(branch.target)

ただし、早送りなしでマージするためのオプションはありません。私に洞察を与えることができるpygit2を広く使用している人はいますか? すべてのヘルプは大歓迎です。

4

1 に答える 1

3

ただし、早送りなしでマージするためのオプションはありません。

これは、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])
于 2014-10-11T05:19:40.160 に答える