【问题标题】:`git add --patch` with `--word-diff``git add --patch` 和 `--word-diff`
【发布时间】:2018-08-10 01:26:15
【问题描述】:

git add --patch 提供了一个很好的界面,用于查看未暂存的更改,然后仅在下一次提交中暂存需要的更改。

很好,除了一件事:没有明显的方法可以选择使用哪个 diff 视图。

特别是,我希望能够配置git add --patch 以与git diff --word-diff 相同的方式向我呈现差异。

我怎样才能做到这一点?

(注意,--word-diff--word-diff --color 都与 --color-words 不完全相同,因此这个问题(及其 answer)与 this question 及其答案不同。但是,这个问题的答案比这个更全面,所以这可能是了解如何实现类似的更多信息的地方。)

【问题讨论】:

标签: git git-diff git-config git-add ergonomics


【解决方案1】:

这是可能的,如下:

git -c interactive.diffFilter="git diff --word-diff --color" add --patch

但是,Git 向您展示了什么,以及您的交互式命令将实际上演什么,will not necessarily match

【讨论】:

  • 这在git 2.17+ 中不再有效,并且在fatal: mismatched output from interactive.diffFilter hint: Your filter must maintain a one-to-one correspondence hint: between its input and output lines. 中失败
  • @OlivierLeFloch,我理解这是一种权宜之计,以避免无声地引入错误。当然,从长远来看,实现无错误git add --patch --word-diff 的方法将是非常可取的。
  • 我实际上在这方面做了更多工作,并在这里详细介绍了一个解决方案:stackoverflow.com/a/52231087/163677 使用 interactive.diffFilterdiff-highlight
猜你喜欢
  • 2018-11-26
  • 2017-10-28
  • 2014-10-07
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 2012-02-07
  • 1970-01-01
相关资源
最近更新 更多