提交增量之间的差异,而不是提交本身

Diff between commit deltas, not commits themselves

我有两个分支来自提交 a:

a - b - c \ d - e

我想看到的是 ce 中引入的 变化 之间的差异。我可以很容易地查看 ec 之间的差异,但这不是我想要的,因为该差异包括 bd 中引入的更改,以及这两个提交彼此不同。抽象地说,我想我想要的是

diff(diff(b, c), diff(d, e))

有什么好的方法吗? ce 中引入的编辑可能仅相差 50 行,所以并没有那么多,问题是这 50 行信号在 ~1000 行噪声中丢失了bd。感谢您的帮助!

感谢您的评论,interdiff 线索足以帮助我找到已回答的问题 How do I get the interdiff between these two git commits?

简单的答案 () 是使用
diff <(git log -p -1 c) <(git log -p -1 e)

如果你有 git 更好的答案 ( ) 2.19 是内置的 git range-diff。我没有那个新的版本,所以找不到它。