2014-10-11 46 views
1

我基本上試圖做一個「git merge --no-ff分支」來合併我的分支回去。看着Pygit2文檔,我並不確定什麼是正確的這樣做的方法是。直接的思想會做這樣的事情:Pygit2 - 合併一個沒有快進的分支

repo.merge(branch.target) 

不過,我沒有看到任何選項,沒有-快進合併。有沒有人廣泛使用pygit2,可以給我任何見解?所有的幫助非常感謝。

+0

好像你唯一的選擇可能是覆蓋GIT_MERGE_OPTS_INIT libgit2不斷 – 2014-10-11 04:34:04

回答

3

但是,我沒有看到任何合併與不fastforward的選項。

這是因爲,從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]) 
+0

事實上,沒有選擇,因爲它是唯一* *存在合併。 – 2014-10-11 10:52:00

相關問題