我熟悉的所有版本控制系统的工作方式是,每个提交都归于一个开发人员。敏捷工程的兴起,特别是成对编程的兴起,导致了两个开发人员对同一个任务做出了重大贡献的局面,例如bug修复。
归属的问题在工作环境中不会有太大的影响,因为项目经理会知道两人正在做的工作,但是如果两个开源贡献者决定结对并将一些代码推送到一个不知道他们在一起工作的特定项目中,那会怎么样呢?像git这样的版本控制系统有没有办法将一个特定的补丁赋予多个开发人员?

最佳答案

Commit title

Commit body

Co-Authored-By: name <[email protected]>
Co-Authored-By: name <[email protected]>

GitHub支持:https://github.blog/2018-01-29-commit-together-with-co-authors/
仍在等待Gitlab:https://gitlab.com/gitlab-org/gitlab-ce/issues/31640
其他人使用:https://git.wiki.kernel.org/index.php/CommitMessageConventions
这种方法的一个问题是,您不能为这组dev创建签名密钥,因此您基本上可以将任何人添加到此列表中,即使他们不处理某个功能,github也会将其视为已处理。不过,在大多数情况下,这不应该是一个问题。
例如Co-Authored-By: Linus Torvalds <[email protected]>
对于普通的作者或签名组(旧方法),您将看到它没有签名,并且知道您不能信任提交。但是,没有对共同作者的签名过程。
大多是过时的答案:
一种解决方案是为这对组合设置一个名称:
git config user.name "Chris Wilson and John Smith"

以下是与其他临时解决方案相关的错误报告:
Bug git-core: Git should support multiple authors for a commit

09-03 22:30