4

关于编辑 GitHub 拉取请求的回答的后续问题询问是否直接在应用补丁文件之前对其进行编辑会导致原作者的工作受到赞扬。由于它实际上并不是原始问题的一部分,因此我在这里将其作为一个新问题提出。

4

1 回答 1

6

TL;博士

Git 会将作者身份归属于补丁的创建者,而不是当前的提交者。但是,您可以覆盖此行为,

Git 如何处理邮箱文件中的补丁

git am命令处理存储在邮箱中的一系列补丁。在 GitHub 拉取请求的情况下,每个补丁文件只是以mbox 格式存储的一系列差异。Git 解析邮箱中的From 行以确定每个提交的 GIT_AUTHOR_NAME 和 GIT_AUTHOR_EMAIL 的值。

这意味着什么

即使您手动编辑单个 diff hunks,Git 通常也会将 Bob 视为作者,而您则视为提交者。这通常是 The Right Thing™。

然而,虽然这肯定是坏业力,但从技术角度来看,您可以想象将 Bob 完全从提交中删除。毕竟,它只是一个文本文件,您可以根据自己的需要进行调整,如果您更改邮箱中的 From 行,那么 Git 在应用每个补丁时将使用新值来填充其作者字段。

这样做肯定有道德和法律上的影响,但问题是关于归属。默认情况下,Git 正确地赋予作者身份,但控制权最终归你所有。

于 2012-06-16T20:58:03.093 回答