我正在尝试设置 gitolite 服务器。我在 git 中发现令人讨厌的一个问题是提交代码时未检查用户名。
这可能导致“身份网络钓鱼”,其中 user1 可以提交一些虚假代码并将 user2 设置为用户名。然后我们将责怪user2。
我正在寻找一种方法来检查或强制用户名与提交者的身份一致。
您可以使用以下方式签署您的提交:(git commit -S
仅从 git 1.7.9 开始可用)
然后,您可以使用服务器端 git 挂钩来拒绝任何未签名的提交。
资料来源: http: //phreaknerd.wordpress.com/2012/02/09/signing-git-commits-with-your-gpg-key/
使用 git 挂钩,您可以获得更新的 ref。您可以检查被推送的整个提交树,从而获取提交者名称和电子邮件(尽管如果它没有签名,您将永远无法确定)。
Gitolite 使用 env 变量来存储各种信息,您可以使用它们来获取连接的人的姓名,并进行验证。