Git 在两个分支之间生成修补程序格式
我想知道如何在 两个分支的最后一次提交 我想获得与Git 在两个分支之间生成修补程序格式,git,Git,我想知道如何在 两个分支的最后一次提交 我想获得与格式补丁命令完全相同的格式 我尝试了一个类似于git diff b1..b2-->diff.patch的命令,但没有成功 没有给出我想要的输出格式 我想得到与format patch命令完全相同的格式 您无法得到它,因为git format patch生成格式化一个或多个现有提交的结果作为其输出格式。两个分支提示之间的差异不是现有的提交 如果你想要的不是完全相同的格式,而是大致相同的格式,你可以得到它。这有多容易或难取决于您希望生成的修补程序的近
格式补丁
命令完全相同的格式
我尝试了一个类似于git diff b1..b2-->diff.patch
的命令,但没有成功
没有给出我想要的输出格式
我想得到与format patch命令完全相同的格式
您无法得到它,因为git format patch
生成格式化一个或多个现有提交的结果作为其输出格式。两个分支提示之间的差异不是现有的提交
如果你想要的不是完全相同的格式,而是大致相同的格式,你可以得到它。这有多容易或难取决于您希望生成的修补程序的近似程度
请注意,git格式补丁的输出由两部分组成:
- 表示提交元数据的文本部分;及
- 由
git diff
生成的diff
然后,这两个部分将得到邮箱样式的包装。来自
的头使用提交哈希ID,这意味着必须有一个提交来生成差异。日期:和主题:头编码一些提交元数据,其余的放在差异上方的文本中
第一部分是不可能精确复制的部分,因为没有涉及提交(因此没有提交元数据)。第二部分很容易复制:只需对所讨论的两个提交运行git diff
我尝试了一个类似于git diff b1..b2-->diff.patch
的命令,但它没有给出我想要的输出格式
在这种情况下,你必须更明确地说出你愿意接受什么。第一部分你想要什么?你从哪里得到它,因为没有单一的提交来获得它?git diff的-stat
参数是我想要的格式,谢谢@torek的评论。你是说“git格式补丁”吗?如果是这样,实际使用该命令有什么问题?格式补丁
,我的错。可能是我不太了解补丁的格式。所以这就像是git格式补丁BRANCH1\u LAST\u COMMIT BRANCH2\u LAST\u COMMIT
?如果您尝试git格式补丁BRANCH1 BRANCH2
,会发生什么?它会为从BRANCH1的第一次提交到BRANCH2的最后一次提交的每次提交创建一个补丁。您想要什么格式?我想要在格式补丁的输出git diff
不提供此摘要。将--stat
和/或--summary
添加到您的git diff
--stat
是我要找的。非常感谢。