将 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
文件。