git - 将补丁应用为提交而不更改提交的消息?

标签 git commit patch

为了将补丁应用为提交 https://stackoverflow.com/a/2250170/1778275建议使用:

git am --signoff < a_file.patch 

但是,它会更改 git 日志 中的提交消息:

yyy

Signed-off-by: Name Surname <local-part@domain_name>

而原始提交的消息是:

[xxx] yyy

问题:如何保留原始提交的消息?

UPD。是的,我知道git commit --amend。但是,有什么方法可以避免使用任何额外的命令吗?

最佳答案

您的命令有两件事。首先,--signoff 命令添加以 Signed-off-by 开头的行。有些项目(例如 Git 和 Linux)使用它来跟踪补丁的来源并验证每个人都同意许可条款。但是,如果您不希望进行此修改,例如,因为您的项目不使用该机制,那么您可以忽略它。

此外,git am 默认情况下会通过删除括号中的项目来清理主题行。这是因为在典型的邮件列表工作流程中,人们经常使用像 [PATCH] 这样的 header ,因此用户可以轻松找到补丁,但这并不希望作为提交消息的一部分。如果您不想进行此剥离,可以使用 --keep,Git 不会剥离括号之间的数据。如果您只想删除文字文本 [PATCH],请改用 --keep-non-patch

关于git - 将补丁应用为提交而不更改提交的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66588339/

相关文章:

Git rebase 和半跟踪每个开发人员的配置文件

git - 通过标记现有提交来触发 Jenkins 管道

git - 显示远程服务器上提交范围的 git 日志?

git - 将整个项目切换到之前的提交

svn - 在 svn 命令行提交中排除一些文件(不是 svn :ignore)

vimrc 自动提交带消息提示

ios - alamofire multipartformdata 使用 urlrequest

git - Smartgit 打不开

azure - Azure redis 缓存补丁计划配置中的维护窗口属性是什么?

jsf-2 - 如何将补丁应用到 Richfaces 4.0.0.Final