git mergetool命令


git mergetool命令用於執行合併衝突解決工具來解決合併衝突。

使用語法

git mergetool [--tool=<tool>] [-y | --[no-]prompt] [<file>…]

描述

git mergetool命令用於執行合併衝突解決工具來解決合併衝突。使用git mergetool執行合併實用程式來解決合併衝突。它通常在git合併後執行。

如果給出一個或多個<file>引數,則將執行合併工具程式來解決每個檔案的差異(跳過那些沒有衝突的檔案)。 指定目錄將包括該路徑中的所有未解析檔案。 如果沒有指定<file>名稱,git mergetool將在具有合併衝突的每個檔案上執行合併工具程式。

範例

以下是一些範例 -

git設定 mergetool 視覺化工具

可以設定BeyondCompare,DiffMerge等作為git的比較和合併的視覺化工具,方便操作。

設定如下:
先下載並安裝 BeyondCompare,DiffMerge 等,這裡以 BeyondCompare 為例。
設定git組態,設定 BeyondCompare 的git命令如下:

#difftool 組態  
git config --global diff.tool bc4  
git config --global difftool.bc4.cmd "\"c:/program files (x86)/beyond compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\""


#mergeftool 組態  
git config --global merge.tool bc4
git config --global mergetool.bc4.cmd  "\"c:/program files (x86)/beyond compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""  
git config --global mergetool.bc4.trustExitCode true

#讓git mergetool不再生成備份檔案(*.orig)  
git config --global mergetool.keepBackup false

使用方法如下:

  1. diff使用方法:
    • git difftool HEAD // 比較當前修改情況
  2. merge使用方法
    • git mergetool