我知道我可以使用rerere
來記錄合併的分辨率與衝突。如何記錄非衝突合併的「解決方案」?
但是,這並不能幫助我在我目前的狀況:
我有一個實驗分支,我使用--strategy ours
,丟棄我做了有什麼變化,但保持所有的歷史以供將來參考合併到主分支。實驗分支的變化與主分支的任何變化無關,所以有沒有衝突因此rerere
沒有記錄任何東西。
現在我要重訂我的歷史(使用--preserve-merges
)的一部分,但是因爲沒有衝突,Git會愉快地使用,而不是我原來使用的我們戰略默認策略,重放合併。現在,來自已過時的實驗分支的所有更改都會在我重新設計的主分支中完成(但我希望它們再次被丟棄)。
我該如何教Git記住我使用的合併策略並在重新綁定時重新使用它們?
你不能:merges不記錄任何地方使用的'-s'參數。這是Git中的一個小缺陷,因爲如你所見,'git rebase --preserve-merges'必須重新執行合併。當然,您可以手動標記您的合併(例如使用提交消息),但rebase腳本不會注意到,因此您還需要編寫自己的rebase腳本。 – torek