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