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
是我要找的。非常感谢。