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