我想添加一個類似於在這一問題自定義合併策略:Git merge conflict to always take the newest filegit:如何添加自定義合併策略?
我已經保存腳本爲git-merge-latest.sh
,並添加以下行.git/config
:
[merge "latest"]
name = select latest file merge driver
driver = git-merge-latest.sh %O %A %B
然而,當我運行git pull --strategy latest
,我得到的消息:
Could not find merge strategy 'latest'.
Available strategies are: octopus ours recursive resolve subtree.
我已經試過檢查git config merge.latest.driver
,它返回預期的輸出。我還將driver
的值更改爲true
,以驗證查找腳本時不存在問題。
這發生在兩個運行git 1.8.2.2和1.7.9.5的不同系統上。我究竟做錯了什麼?
可能需要明確指出,將合併策略是修改'GIT中的問題'代碼 - 這不是通過配置更改(至少目前)可以完成的... – twalberg
@twalberg - 你可以很容易地插入你自己的,實際上;如果你在你的路徑中有一個'git-merge-xyz',那麼如果你將'git merge --strategy xyz'合併,git會運行它。我會在答案中更清楚地說明。 –
是如何編寫git merge策略可執行文件的規範?我應該對stdin預期什麼,輸出結果是什麼? –