git difftool 的万花筒

git difftool 的万花筒

我尝试使用万花筒来git difftool比较两个分支。

所以我安装了差分并将其设置为关注我的.gitconfig

 [diff]
     tool = kaleidoscope
 [difftool "kaleidoscope"]
     cmd = ksdiff --changeset $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")

跑步时

git difftool myBranch otherBranch 

我收到错误cannot use duplicate files within the same file list

答案1

我找到了一种配置它的方法。在 Kaleidoscope 本身中万花筒菜单上有一个名为一体化它打开多个版本解决方案的配置窗口。

万花筒“集成”配置窗口

安装后差分点击配置按钮将把以下行添加到您的.gitconfig文件中。

[diff]
    tool = Kaleidoscope
[difftool "Kaleidoscope"]
  cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = Kaleidoscope
[mergetool "Kaleidoscope"]
  cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
  trustExitCode = true

然后运行以下命令将依次打开每个不同的文件

git difftool myBranch otherBranch  -y -t Kaleidoscope

--

笔记:

  • -y代表避免提示我们是否要对每个文件使用 Kaleidoscope 进行 difftool。默认答案是“是”。
  • -t Kaleidoscope这里是可选的,因为我们的文件Kaleidoscope中已经设置了默认的 difftool 。.gitconfig

相关内容