什么流导致Github提交由一个用户“创作”但由另一个用户“提交”?

问题描述 投票:22回答:2

例如,this commit声称由mattcaswell撰写并由richsalz承担

什么样的使用流程可能导致这个?假设我想要一个由其他人创作并由我承诺出现在我是贡献者的回购中的提交 - 我怎么会这样做?

github commit git-commit
2个回答
26
投票

Git区分了作者和提交者(参见Difference between author and committer in Git?)。作者是编写特定代码段的人 - 提交者是将这些更改放入git“历史”的人。

通常两者都是相同的(并且在合并,克隆,推或拉时不会改变)。

导致两者指向不同的人可能发生在rebasing,编辑提交(例如amending),代表其他人做(例如通过指定--author),应用补丁(git am),挤压(例如,在mergerebase) ),或cherry-picking


4
投票

自2019年3月(OP问题后5年),还有另一种情况,即由一个人撰写并由另一个人提交,特别是在问题中使用的organization github.com/openssl的背景下。

代表组织创建提交

开发人员可以表明他们代表组织为项目做出贡献的意图。 这有助于最大限度地减少对所有权的混淆,例如,代表您的雇主为第三方项目做出贡献时。

对于与组织关联的给定提交:

  • 提交者必须在提交中添加一个On-behalf-of提交预告片,形式为:代表:@ORG <ORG CONTACT EMAIL>
  • 提交者必须是组织的成员,
  • 必须通过组织的已验证域中的电子邮件提交提交,以及
  • 提交必须签名。

On-behalf-of提交预告片的支持目前正在公开测试中。 有关更多信息,请参阅creating a commit on behalf of an organization

https://help.github.com/assets/images/help/repository/write-commit-message-on-behalf-of-trailer.png

© www.soinside.com 2019 - 2024. All rights reserved.