永发信息网

如何查看“git的差异输出与视觉diff程序

答案:1  悬赏:20  手机版
解决时间 2021-04-15 14:35
  • 提问者网友:容嬷嬷拿针来
  • 2021-04-15 03:40
如何查看“git的差异输出与视觉diff程序
最佳答案
  • 五星知识达人网友:雾月
  • 2021-04-15 04:59
有两种不同的方法来指定一个外部diff工具。
  第一个是你所使用的方法,通过设定GIT_EXTERNAL_DIFF变量。然而,该变量应该指向的可执行文件的完整路径。此外,通过GIT_EXTERNAL_DIFF指定的可执行文件将被调用,一组固定的7参数:
  path old-file old-hex old-mode new-file new-hex new-mode

  由于大部分的diff工具,将需要不同的顺序(只有部分)的参数,您很可能必须指定一个包装脚本来代替,这再调用真正的比较工具。
  第二种方法,这是我比较喜欢,就是通过“混帐配置外部比较工具
配置“,这是我做的事:
  1)创建一个包装脚本”“,其中包含像
  -->8-(snip)--
#!/bin/sh

# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode

"" "$2" "$5" | cat
--8<-(snap)--

  正如你所看到的,只有第二个(”旧档“)和第五(”新GIT-DIFF-wrapper.sh -file“)论证会
传递给比较工具。
  2)类型
  $ git config --global diff.external

  在命令提示符下,用路径“混帐-DIFF-wrapper.sh”取代,所以你的〜/的.gitconfig包含
  -->8-(snip)--
[diff]
external =
--8<-(snap)--

  一定要使用正确的语法指定的包装脚本和差异的路径
工具,即使用正大幅削减,而不是反斜杠。就我而言,我已经
  [diff]
external = c:/Documents and Settings/sschuber/git-diff-wrapper.sh

  中的.gitconfig和
  "d:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat

  在包装脚本。介意尾随“猫”!
  (我猜的 | cat“只需要对某些程序可能无法返回正确的或一致的返回状态,你可能想尝试无尾猫,如果你的比较工具都有明确的返回状态)
  这(上述文章引用)的理论,通过配置文件(而不是通过环境变量)中定义的外部工具。
在实践中(依然为外部工具配置文件定义),你可以参考一下:
  How do I setup DiffMerge with msysgit / gitk?,它说明的+ +记事本的定义为外部编辑器DiffMerge和的WinMerge的MsysGit和gitk
  How can I set up an editor to work with Git on Windows?的具体设置。

转载
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯