my answer 的后续问题关于编辑 GitHub pull-requests 询问在应用补丁文件之前直接编辑补丁文件是否会导致对原作者工作的信任。由于它实际上并不是原始问题的一部分,因此我在这里将其作为一个新问题提出。
最佳答案
长话短说
Git 会将作者身份归于补丁的创建者,而不是当前的提交者。但是,您可以覆盖此行为,
Git 如何处理邮箱文件中的补丁
git am
命令处理存储在邮箱中的一系列补丁。在 GitHub pull 请求的情况下,每个补丁文件只是存储在 mbox format 中的一系列差异。 . Git 解析邮箱中的发件人行,以确定每次提交的 GIT_AUTHOR_NAME 和 GIT_AUTHOR_EMAIL 的值。
这是什么意思
即使您手动编辑各个 diff hunk,Git 通常会将 Bob 视为作者,而将您视为提交者。这通常是 The Right Thing™。
然而,虽然这肯定是坏业,但从技术的角度来看,您可以想象将 Bob 完全从提交中删除。毕竟,它只是一个文本文件,您可以根据自己的需要进行修改,如果您更改邮箱中的发件人行,那么 Git 将在应用每个补丁时使用新值填充其作者字段。
这样做肯定会产生道德和法律上的影响,但问题在于归因。默认情况下,Git 会正确地赋予作者身份,但控制权最终属于您。
关于git - 手工编辑的补丁文件归功于谁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066980/