將 Meld 設定為 Git 的 Difftool 和 Mergetool
本文將討論將 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
檔案。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn