git - 为什么要Sign Off?
某草草
某草草 2017-05-02 09:25:58
[Git讨论组]

为什么很多开源项目都要求Sign Off?Git里面已经配置用户名和邮箱了,再次署名的意义是什么?

另外,怎么进行Sign Off操作?是在提交描述最后加一行就行,还是在Pull Request的时候,还是需要用什么其他方法?

某草草
某草草

全部回复(1)
大家讲道理

首先,区分 sign-off 和签名。 @nightfire 已经解释了签名。我来解释(翻译)一下 sign-off 的意义。

我并没有看到「很多开源项目都要求」sign-off。最著名的是 linux 内核。它的文档里是这么说的:

11) Sign your work

To improve tracking of who did what, especially with patches that can
percolate to their final resting place in the kernel through several
layers of maintainers, we've introduced a "sign-off" procedure on
patches that are being emailed around.

因为在 Linux 的开发过程中,他们并不使用 GitHub 创造的「pull request」,而是通过(分布式的)电子邮件寄送补丁(所以 git 对邮件有着相当好的支持)。补丁寄来寄去的,就需要跟踪了,不然像 BSD 经历过的那样扯起皮来影响开发就不好了。「Signed-off-by」实际上是一个声明,你保证寄送的补丁符合「Developer's Certificate of Origin 1.1」里边那几点。

StackOverflow 上有人说了,这只是少数几个项目的要求,大部分项目并不使用 sign-off。

PS: 你如果看内核提交的话,有时能看到一个 commit 有一长列 sign-off 的。这种情况下仅仅一个 committer 和一个 author 怎么够呢?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号