HOWTO · Git
將 Meld 設定為 Git 的 Difftool 和 Mergetool
本文討論了將 Meld 配置為 Git 的預設差異和合並工具的過程。
本頁內容
本文將討論將 Meld 配置為 Git 的預設 diff 和 merge 工具。Meld 是一個很棒的 GUI diff 程式,它使我們更容易檢查檔案更改和合並結果。
第一步始終是下載和安裝程式。完成後,跟隨我們的領導。
將 Meld 配置為預設 Git Difftool
要將 Git 配置為使用 Meld 作為 difftool,我們需要更改我們的 .gitconfig 檔案。我們將以下行新增到我們的 .gitconfig 檔案中。
[diff]
tool = meld
[difftool]
prompt = false
[difftool "meld"]
cmd = meld "$LOCAL" "$REMOTE"
計劃的順序將由 $LOCAL 和 $REMOTE 引數的順序決定。在我們的例子中,我們的原始檔案 $LOCAL 將在左側,而 $REMOTE 是右側的修改檔案。
如果你想反過來,請改用它。
cmd = meld "$REMOTE" "$LOCAL"
prompt = false 部分指示 Git 不要要求確認啟動工具,預設情況下它會這樣做。
我們可以將 git difftool 命令作為 git diff 命令執行。
$ git difftool <BranchName> file_name
將 Meld 配置為預設 Git Mergetool
由於其 GUI mergetool,Meld 還可以更輕鬆地解決合併期間的衝突。同樣,我們將更改我們的 .gitconfig 檔案以將 Meld 配置為 Git 的 mergetool。
將下面的行新增到你的 .gitconfig 檔案中。
[merge]
tool = meld
[mergetool "meld"]
# Choose one of these 2 lines
cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
當我們有合併衝突時,我們可以通過執行下面的命令來使用 Meld 作為我們的 mergetool。
$ git mergetool
讓我們簡單看一下上面的引數。
$LOCAL- 這是我們簽出分支中的檔案。$REMOTE- 這是我們試圖合併的分支中的檔案。$MERGED- 這是有合併衝突的檔案。$BASE- 這是建立包含$REMOTE的分支時的原始檔案。
$LOCAL 和 $REMOTE 將在左右,這取決於你在 cmd 中的順序,你可以在中間有 $BASE 或 $MERGED。Meld 允許 3 向檢視,我們應該編輯中間檔案以解決衝突。
編輯完成後,我們可以關閉程式,Git 會自動更新檔案。此時,我們已準備好提交更改並完成合並。
或者,我們可以在 Bash 上執行一些命令來更新我們的 .gitconfig 檔案。
對於 Windows 使用者,請執行這些命令。
$ git config --global diff.tool meld
$ git config --global difftool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global difftool.prompt false
$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global mergetool.prompt false
確保你輸入正確的路徑到你的 MELD.exe 檔案。
Linux 使用者可以使用下面的命令來更新他們的 .gitconfig 檔案。
$ git config --global diff.tool meld
$ git config --global difftool.meld.path "/usr/bin/meld"
$ git config --global difftool.prompt false
$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "/usr/bin/meld"
$ git config --global mergetool.prompt false
使用你機器上的正確安裝路徑更新上面的程式碼。
簡而言之,Git 最初的 diff 和 merge 介面並不吸引人。但是,我們可以將 Git 配置為使用 Meld 作為預設的 GUI difftool 和 mergetool。
你需要做的就是按照上述步驟更新你的 .gitconfig 檔案。