从邮件列表应用 git 补丁
Posted
技术标签:
【中文标题】从邮件列表应用 git 补丁【英文标题】:Applying git patches from a mailing list 【发布时间】:2014-09-11 10:08:30 【问题描述】:我需要将补丁(来自邮件列表)应用到本地 git 存储库中
邮件列表中的补丁包含封面消息和有关它的简要信息。我可以将适当的补丁文本复制粘贴到文件中并将其用作补丁。如果可能的话,有人可以建议一个更好的选择吗?
【问题讨论】:
你试过man git-am
吗?
不,git-am 将接受使用 format-patch 创建的补丁,但我使用 git commit 创建,添加了提交消息但从未使用过 format-patch .. 它是否可以在没有 format-patch 的情况下创建补丁也是?
How to use git am to apply patches from email messages?的可能重复
【参考方案1】:
您可以选择git apply
和git am
和git mailinfo
。
git mailinfo
命令将处理电子邮件并将补丁与日志分开,但通常您可以简单地使用git am
。另请注意--scissors
,
--剪刀
在剪刀线之前删除正文中的所有内容。主要由剪刀(“>8”或“8
【讨论】:
【参考方案2】:如果您确实使用 [git am
][1],请不要使用任何“剪刀”标记(使用 [-c
/--scissor
选项][2])
仅使用-- >8 --
。
随着 Git 2.29(2020 年第四季度),“剪刀线”的解释得到了澄清。
参见 Evan Gates (deepcube
) 的 commit 287416d(2020 年 9 月 28 日)。(由 Junio C Hamano -- gitster
-- 合并到 commit 9839cce,2020 年 10 月 4 日)
Doc
: 显示剪刀线示例签字人:埃文·盖茨
文字试图说明代码接受许多看起来像剪刀和穿孔标记的变体,但提供的细节太少,用户无法自行决定什么是剪刀线,什么不是剪刀线。
不要更多地描述启发式方法,而只是说明将始终被接受的内容,即“
-- >8 --
”,因为这无助于用户给他们更多的选择和灵活性以及在他们的剪刀线中“创造性”。
git mailinfo
现在包含在其man page 中:
在剪刀线之前删除正文中的所有内容(例如“
-- >8 --
”)。 线代表剪刀和穿孔标记,用于 要求读者剪掉该行的信息。 [1]:https://git-scm.com/docs/git-am [2]:https://git-scm.com/docs/git-am#Documentation/git-am.txt--c
【讨论】:
以上是关于从邮件列表应用 git 补丁的主要内容,如果未能解决你的问题,请参考以下文章
使用 git send-email 回复邮件列表中的同一线程