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

时间:2016-08-09 05:15:47

标签: git github diff

我想知道是否有办法为多次非连续提交获取累积git diff。

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

git diff 123456^ 123456

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

我可以将其用于多次提交。但我现在想做多个差异并将输出合并为一个。

例如,

git diff 123456^ 123456
git diff abcdef^ abcdef

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

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

In commit 123456: from "foo" to "bar"
in commit abcdef: from "bar" to "oof"

我只是想看到它改变了" foo"到" oof"在这些之后提交。

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

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

2 个答案:

答案 0 :(得分:3)

我确信某人有一个更聪明的方法,但你可以尝试将所有选择的提交压缩成一个,然后在那个上做差异。您可以使用--cherry-pick执行--no-commit。获得最终结果后,您可以git diff HEAD获得基础版本的差异(假设您将自己重置为该位置)。

答案 1 :(得分:0)

git diff <commit-A> <commit-B>可以生成AB之间的差异,即使AB位于不同的分支或不同的存储库中。