[英]Apply patch as commit without changing the commit's message?
为了将补丁应用为提交https://stackoverflow.com/a/2250170/1778275建议使用:
git am --signoff < a_file.patch
但是,它会更改git log
中的提交消息:
yyy
Signed-off-by: Name Surname <local-part@domain_name>
而原始提交的消息是:
[xxx] yyy
问题:如何保留原始提交的消息?
UPD。 是的,我知道git commit --amend
。 但是,有什么方法可以避免使用任何额外的命令?
您拥有的命令有两件事。 首先, --signoff
命令添加以Signed-off-by
开头的行。 一些项目,如 Git 和 Linux,使用它来跟踪补丁的来源并验证每个人都同意许可条款。 但是如果你不想要这种修改,比如说,因为你的项目没有使用那种机制,那么你可以省略它。
此外,默认情况下, git am
通过删除括号中的项目来清理主题行。 这是因为在典型的邮件列表工作流程中,经常使用 header 之类的[PATCH]
,因此用户可以轻松找到补丁,但这不是提交消息的一部分。 如果您不想完成此剥离,可以使用--keep
,并且 Git 不会剥离括号之间的数据。 如果您只想剥离文字文本[PATCH]
,请改用--keep-non-patch
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.