使用git hook,我如何强制或检查用户身份?

时间:2012-04-24 14:24:45

标签: git githooks gitolite

我正在尝试设置一个gitolite服务器。我在git中发现烦恼的一个问题是在提交代码时没有检查用户名。

这可能导致可能的“身份网络钓鱼”,其中user1可以提交一些虚假代码并将user2设置为用户名。然后我们会责怪user2。

我正在寻找一种方法来检查或强制用户名与提交者的身份保持一致。

2 个答案:

答案 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变量存储各种信息,您可以使用它们获取所连接人员的姓名,并进行验证。