6

我真的只是在寻找一种方法来配置git gui生成差异,就像 by 一样git diff --patience,但我强烈怀疑任何可能允许我这样做的机制也会允许传递其他选项,所以我问了更一般的问题为了更好地为后代服务:

有没有办法设置一些应该用于生成它显示的差异的git diff选项?git gui

4

2 回答 2

4

据我所知,似乎没有一种通用的方法可以做到这一点。有一个特定的配置选项可用于设置要显示的上下文行数 ( gui.diffcontext),但没有通用配置选项可将其他参数添加到git diff-index.

但是,git-gui它是用 Tcl 编写的,因此很容易添加此选项。如果您diff.tcl在系统上找到*您可以在该行lappend cmd --patience之后添加该行lappend cmd -p

*如果您使用的是打包版本,则可能.../usr/share/git-gui/lib/diff.tcl


感谢 的维护者 Pat Thoytsgit gui在下面的评论中指出gui.diffopts现在已经添加了一个选项,git gui以便您可以自定义用于差异的选项。(此提交中引入了该更改,但据我所知尚未在 git 的发布版本中。)

于 2011-10-07T07:58:52.153 回答
0

@Mark Longair 的回答暗示了这一点,但这是您可以使用的完整命令,并--global设置了标志,因为我假设您始终想要这个,而不仅仅是单个 git-gui 实例。

git config --global gui.diffopts --diff-algorithm=patience

如果您想尝试其他差异算法,也可以使用以下三个命令中的任何一个。https://lupeng.wordpress.com/2020/10/10/when-to-use-each-of-the-git-diff-algorithms/很好地直观地展示了不同的结果。

  • git config --global gui.diffopts --diff-algorithm=histogram
  • git config --global gui.diffopts --diff-algorithm=meyer
  • git config --global gui.diffopts --diff-algorithm=minimal
于 2021-07-13T15:57:13.427 回答