我想知道是否有办法获得多个非连续提交的累积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之间进行所有更改.
我不想做任何事情; 只是想这个来检查代码的安全性.
我确信有人有一种更聪明的方法,但是您可以尝试将所有选择的提交压缩为一个,然后对该提交进行比较。你可以通过使用来做到这--cherry-pick一点--no-commit。一旦获得最终结果,您就可以git diff HEAD得到它与基本版本的差异(假设您将自己重置到该位置)。