从邮件列表中应用git补丁

5
我需要将邮件列表中的补丁应用到本地git仓库中。
邮件列表中的补丁包含一条概述信息和一个简短的说明。我可以复制并粘贴适当的补丁文本到一个文件中,并将其用作补丁。如果可能的话,请有人提供更好的替代方案吗?

你尝试过使用 man git-am 吗? - Todd A. Jacobs
不,git-am可以接受使用format-patch创建的补丁,但我是使用git commit创建的,并添加了提交消息,但从未使用过format-patch。没有使用format-patch创建的补丁也能工作吗? - codey modey
1
可能是重复的问题:如何使用git am从电子邮件消息中应用补丁? - Ciro Santilli OurBigBook.com
2个回答

3
您可以选择使用git applygit am命令来处理使用git mailinfo的邮件信息,该命令将会分离补丁和日志。但通常情况下,您可以直接使用git am命令。此外,请注意使用--scissors选项。

--scissors

在剪刀线之前移除正文中的所有内容。主要由剪刀线(">8"或"8<")和切割符(破折号“-”)组成的一行称为剪刀线,并用于请求读者在该行剪切消息。如果这样的行出现在补丁之前的消息正文中,则在使用此选项时会忽略它之前的所有内容(包括剪刀线本身)。


1
如果您使用 [git am][1],请不要使用任何“剪刀”标记(使用 [-c/--scissor选项][2])。
只使用 -- >8 --
随着 Git 2.29(2020年第四季度)的推出,“剪刀线”的解释已经得到了澄清。
请参见 提交 287416d(2020年9月28日),由 Evan Gates (deepcube) 提交。
(由 Junio C Hamano -- gitster --提交 9839cce 中合并,2020年10月4日)

文档: 显示剪刀线的示例

签署者:Evan Gates

这段文字试图表明代码接受许多外观类似剪刀和针孔的变化,但给用户的细节太少,无法决定什么是剪刀线,什么不是剪刀线。

与其更详细地描述启发式算法,不如明确说明什么总是被接受,即 "-- >8 --",因为给用户更多选择和灵活性,并在他们的剪刀线上“发挥创意”并没有帮助。

git mailinfo现在包括在其手册页中:

删除在剪刀线(例如 "-->8--")之前的所有内容。该行表示剪切和穿孔标记,并用于请求读者在该行处剪切消息。 [1]: https://git-scm.com/docs/git-am [2]: https://git-scm.com/docs/git-am#Documentation/git-am.txt--c


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接