有没有方法可以测试两个差异或补丁是否相等?有没有办法比较两个差异或补丁?
比方说,你有以下git的承诺的历史,这里拥有F和G是干净rebaseable到E:在我国目前的部署过程
G
/
A--B--C--D--E
\
F
由于限制,我们有以下几点,有点关系图(它不是版本控制)
G'
/
------------E'
\
F'
F“和G”将最终施加到头部E”,在一些被确定的顺序,所以它最终会像
------------E'--G'--F'
有没有一种方法来测试从E'到G'的差异是否与由G的git提交产生的补丁相同?
我完全认识到,在理想的世界中,修订控制可以解决这个问题,而且我们已经到了那里,但那不是我们目前的状况。
你基本上可以在单独的结帐中播放这两个补丁并比较输出,但这看起来有点笨拙。比较差异本身,我假设,行不通,因为行号可能会改变。即使G'和F'被重新定位为E',F'的补丁最终也会应用到G',从而使补丁的不同背景变得不同。
你尝试差异比较? – Geoffroy 2011-12-20 01:35:52
Gnu diff有一个命令行开关,用于在生成diff时指定要忽略的行的正则表达式。 – holygeek 2011-12-20 01:37:15
对于批处理,'git patch-id'和'git cherry'(也可以参见'--cherry *'git log选项)可能被用作快速回答,但它太严格了,可以考虑一些重要的小改动。差异比较是您需要某些答案时的方法 – max630 2016-08-11 09:18:27