获取多个非连续提交的累积git差异

DDS*_*DDS 10 git diff github

我想知道是否有办法获得多个非连续提交的累积git diff.

举个例子,我可以使用以下命令获得每个提交中的更改:

git diff 123456^ 123456
Run Code Online (Sandbox Code Playgroud)

其中"123456"是一个git哈希.

我可以去多次提交.但我现在想要做多个差异并将输出合并为一个.

举个例子,

git diff 123456^ 123456
git diff abcdef^ abcdef
Run Code Online (Sandbox Code Playgroud)

但将差异合并为一个.但"123456"和"abcdef"不是连续提交.

更新: 让我们说文件xyz中的一行改变了:

In commit 123456: from "foo" to "bar"
in commit abcdef: from "bar" to "oof"
Run Code Online (Sandbox Code Playgroud)

我只想看到它在提交之后从"foo"变为"oof".

git diff 123456 abcdef对我不起作用,因为我不想在123456和abcdef之间进行所有更改.

我不想做任何事情; 只是想这个来检查代码的安全性.

Dav*_*idN 4

我确信有人有一种更聪明的方法,但是您可以尝试将所有选择的提交压缩为一个,然后对该提交进行比较。你可以通过使用来做到这--cherry-pick一点--no-commit。一旦获得最终结果,您就可以git diff HEAD得到它与基本版本的差异(假设您将自己重置到该位置)。

  • 感谢您的回复,但我的要求只是为了安全代码审查目的查看更改。我不需要承诺任何事情。 (2认同)
  • 你不会做出承诺。--no-commit 推迟了这一点。 (2认同)