在Mac上设置和使用Meld作为你的git difftool和mergetool

Siv*_*dav 14 macos diff merge meld git-config

如何在MacOS上安装Meld,然后在git中将其设置为我的difftool和mergetool?

vag*_*van 25

  1. .dmg从这里下载最新的Mac软件包:Meld for OSX

  2. 通过编辑~/.gitconfig并添加以下行,将meld设置为git difftool/mergetool ,如上面的链接所示:

    [diff]
      tool = meld
    [difftool]
      prompt = false
    [difftool "meld"]
      trustExitCode = true
      cmd = open -W -a Meld --args \"$LOCAL\" \"$PWD/$REMOTE\"
    [merge]
      tool = meld
    [mergetool]
      prompt = false
    [mergetool "meld"]
      trustExitCode = true
      cmd = open -W -a Meld --args --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output=\"$PWD/$MERGED\"
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用git difftoolrepo中的命令可以在修订版之间比较和编辑文件.

  • 我得到了没有找到 meld 命令。你是如何融入 /usr/local/bin 的? (2认同)
  • git difftool 有时会提供相对路径,有时会提供绝对路径。看起来 Meld 不能很好地处理这个问题,所以你需要做类似 `\"$([[ "$REMOTE" == /* ]] && echo "$REMOTE" || echo "$PWD/$远程")\"` (2认同)

小智 14

来自 Mac OS High Sierra (10.13.6)、Git 2.12.2

安装 Meld

brew tap homebrew/cask

brew cask install meld

将 Meld 设置为 Git Mergetool

git config --global merge.tool meld

git config --global diff.guitool meld

  • 对于第二个命令,我必须在 Apple M1 上使用 `brew install --cask meld` (2认同)

Vic*_*tor 11

从2021 年开始的工作解决方案

  • 操作系统:Mac OS Big Sur (11.3.1)
  • git:git 2.30.1

安装

brew tap homebrew/cask
Run Code Online (Sandbox Code Playgroud)
brew install --cask meld
Run Code Online (Sandbox Code Playgroud)

设置

git config --global merge.tool meld
Run Code Online (Sandbox Code Playgroud)
git config --global  diff.guitool meld
Run Code Online (Sandbox Code Playgroud)

用法

git mergetool # When file conflicts happen during merge
Run Code Online (Sandbox Code Playgroud)