Version control 是否可以对两个连续的差异进行修补,以输出第三个差异,该差异反映了前两个差异组合的所有变化?

Version control 是否可以对两个连续的差异进行修补,以输出第三个差异,该差异反映了前两个差异组合的所有变化?,version-control,diff,Version Control,Diff,给定diff(a,b)和diff(b,c) 有没有办法在不知道a、b或c的情况下找到差异(a、c) 注意:我在GNU中使用diff实用程序 是否有任何现有的解决方案 提前谢谢 我认为包中的combinediff实用程序正是这样做的。或 git checkout HEAD@{0} # leave the branch git reset HEAD~3 # unstage last 3 commits git diff > ~/mypatch

给定
diff(a,b)
diff(b,c)

有没有办法在不知道a、b或c的情况下找到差异(a、c)

注意:我在GNU中使用diff实用程序

是否有任何现有的解决方案


提前谢谢

我认为包中的
combinediff
实用程序正是这样做的。

git checkout HEAD@{0}           # leave the branch
git reset HEAD~3                # unstage last 3 commits
git diff > ~/mypatch
也许从

git stash
# do funny business
git checkout $originalbranch
git stash pop

理论上它是两个diff的叠加,但实际上可能要复杂得多,因为您需要解析文件
diff(a,b)
diff(b,c)
。是的,我相信这在理论上是可能的。我有兴趣找到任何现有的解决方案。该死。比我快。还可以看看interdiff