【发布时间】:2025-12-17 03:45:01
【问题描述】:
my answer 的一个关于编辑 GitHub 拉取请求的后续问题询问是否在应用补丁文件之前直接编辑补丁文件会导致原作者的工作受到赞扬。由于它实际上不是原始问题的一部分,因此我在这里将其作为一个新问题提出。
【问题讨论】:
标签: git github diff patch pull-request
my answer 的一个关于编辑 GitHub 拉取请求的后续问题询问是否在应用补丁文件之前直接编辑补丁文件会导致原作者的工作受到赞扬。由于它实际上不是原始问题的一部分,因此我在这里将其作为一个新问题提出。
【问题讨论】:
标签: git github diff patch pull-request
Git 会将作者身份归属于补丁的创建者,而不是当前的提交者。但是,您可以覆盖此行为,
git am 命令处理存储在邮箱中的一系列补丁。对于 GitHub 拉取请求,每个补丁文件只是存储在 mbox format 中的一系列差异。 Git 解析邮箱中的 From 行 以确定每次提交的 GIT_AUTHOR_NAME 和 GIT_AUTHOR_EMAIL 的值。
即使您手动编辑单个 diff 数据块,Git 通常也会将 Bob 视为作者,将您视为提交者。这通常是 The Right Thing™。
然而,虽然这肯定是坏业力,但从 技术 的角度来看,您可以想象将 Bob 完全从提交中删除。毕竟,它只是一个文本文件,您可以根据自己的需要进行调整,如果您更改邮箱中的 From 行,那么 Git 将在应用每个补丁时使用新值来填充其作者字段。
这样做肯定会产生道德和法律上的影响,但问题在于归属。默认情况下,Git 正确地赋予作者身份,但控制权归你所有。
【讨论】: