?
This document uses PHP Chinese website manual Release
git-mergetool - 運行合并沖突解決工具來解決合并沖突
git mergetool [--tool=<tool>] [-y | --[no-]prompt] [<file>…]
使用git mergetool
運行的幾種合并一個實用程序來解決合并沖突。它通常在之后運行git merge
。
如果給出一個或多個<file>參數(shù),則將運行合并工具程序以解決每個文件上的差異(跳過那些沒有沖突的文件)。指定一個目錄將包含該路徑中所有未解析的文件。如果未指定<文件>名稱,git mergetool
則會在每個存在合并沖突的文件上運行合并工具程序。
-t <tool> --tool=<tool>
使用<tool>指定的合并解析程序。有效值包括emerge,gvimdiff,kdiff3,meld,vimdiff和tortoisemerge。運行git mergetool --tool-help
有效的<工具>設(shè)置列表。
如果沒有指定合并解析程序,git mergetool
將使用配置變量merge.tool
。如果配置變量merge.tool
沒有設(shè)置,git mergetool
會選擇一個合適的默認值。
您可以通過設(shè)置配置變量明確提供工具的完整路徑mergetool.<tool>.path
。例如,您可以通過設(shè)置配置kdiff3的絕對路徑mergetool.kdiff3.path
。否則,git mergetool
假定該工具在PATH中可用。
git mergetool
可以通過指定要在配置變量中調(diào)用的命令行來定制運行其他程序,而不是運行其中一個已知的合并工具程序mergetool.<tool>.cmd
。
當git mergetool
使用此工具調(diào)用此工具時(通過-t
或--tool
選項或merge.tool
配置變量),將調(diào)用已配置的命令行并將其$BASE
設(shè)置為包含合并公共基礎(chǔ)的臨時文件的名稱(如果可用); $LOCAL
設(shè)置為包含當前分支上文件內(nèi)容的臨時文件的名稱; $REMOTE
設(shè)置為包含要合并的文件內(nèi)容的臨時文件的名稱,并將其$MERGED
設(shè)置為合并工具應(yīng)寫入合并解析結(jié)果的文件的名稱。
如果自定義合并工具使用其退出代碼正確指示合并分辨率的成功,則可將該配置變量mergetool.<tool>.trustExitCode
設(shè)置為true
。否則,git mergetool
將在用戶工具退出后提示用戶指示解析成功。
--tool-help
打印可能使用的合并工具列表--tool
。
-y --no-prompt
在每次調(diào)用合并解析程序之前不要提示。如果通過--tool
選項或merge.tool
配置變量顯式指定合并解析程序,則這是默認值。
--prompt
在每次調(diào)用合并解決方案之前提示,以使用戶有機會跳過該路徑。
-O<orderfile>
按照<orderfile>中指定的順序處理文件,每行有一個shell glob模式。這覆蓋了diff.orderFile
配置變量(請參閱git-config [1])。取消diff.orderFile
,使用-O/dev/null
。
git mergetool*.orig
在解析合并時創(chuàng)建備份文件。一旦文件合并并且git mergetool
會話完成,這些文件就可以安全移除。
將mergetool.keepBackup
配置變量設(shè)置為false
導致git mergetool
在文件成功合并時自動刪除備份。