如何确定谁推送到存储库?
即。有人做git push origin master
并且在origin
回购的后接收挂钩中我需要使用某人的姓名或电子邮件。
答案 0 :(得分:10)
如果您使用SSH协议将更改推送到服务器,并且每个用户在服务器上都有自己的帐户,那么您的脚本应该作为正在执行推送的用户运行。因此,您应该可以使用whoami
或id -un
来获取推送人的用户名。
如果您不使用此设置,跟踪谁正在推送的最佳方法可能是使用强大的Git身份验证和授权系统Gitolite。在Gitolite中,您可以使用update.secondary
and post-update.secondary
hooks,它将GL_USER
环境变量设置为当前的Gitolite用户。
答案 1 :(得分:0)
答案 2 :(得分:0)
你不能说使用Git。如果使用SSH进行推送,则可以使用SSH获取用户名,如果使用gitolite等用户管理前端,则可以使用 获取用户名,如果使用HTTP身份验证,您可以使用您的网络服务器获取用户名,但Git网络协议不会传输任何用户名。