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