如何在hook中读取git推送参数?

如何在hook中读取git推送参数?,git,bash,shell,hook,Git,Bash,Shell,Hook,我有一个多用户的Git存储库。当他们推送时,我是否可以从客户机命令行读取参数?例如,用户名和密码 我试着在bash脚本中读取,但它不起作用。我无法访问STDIN 如何在Git钩子(更新)中从客户端命令行读取内容?否。Git不进行任何身份验证。(见“”) 您可以从https会话或ssh会话获取用户id(如果~git/.ssh/authorized_keys文件包含该信息):这就是所做的:请参阅“” 你肯定得不到密码。曾经(这与git或gitolite无关) gitolite反过来会调用git本身(

我有一个多用户的Git存储库。当他们推送时,我是否可以从客户机命令行读取参数?例如,用户名和密码

我试着在bash脚本中读取
,但它不起作用。我无法访问
STDIN


如何在Git钩子(更新)中从客户端命令行读取内容?

否。Git不进行任何身份验证。(见“”)

您可以从https会话或ssh会话获取用户id(如果
~git/.ssh/authorized_keys
文件包含该信息):这就是所做的:请参阅“”

你肯定得不到密码。曾经(这与git或gitolite无关)


gitolite反过来会调用git本身(如果它授权了clone/push/pull命令),但git同样会很高兴地不知道请求所述clone/pull/push的用户id:它只会执行它。

否。git不做任何身份验证。(见“”)

您可以从https会话或ssh会话获取用户id(如果
~git/.ssh/authorized_keys
文件包含该信息):这就是所做的:请参阅“”

你肯定得不到密码。曾经(这与git或gitolite无关)


gitolite反过来会调用git本身(如果它授权了clone/push/pull命令),但git同样会幸福地不知道用户的id请求所说的clone/pull/push:它只会执行它。

但是github是如何做到这一点的?为什么github允许用户使用http/https进行推送,我应该做的只是输入我的电子邮件和密码@王振威 GitHub有一个Apache,它可以监听远程请求,并根据自己的内部用户数据库验证用户/密码。您可以在本地()存储您的登录名/密码,但它们将由GitHub字体端(如Apache或ssh)使用,而不是由git或GitHub端的任何钩子使用。但GitHub如何做到这一点呢?为什么GitHub允许用户使用http/https推送,我应该做的只是输入我的电子邮件和密码@王振威 GitHub有一个Apache,它可以监听远程请求,并根据自己的内部用户数据库验证用户/密码。您可以在本地()存储登录名/密码,但它们将由GitHub字体端(如Apache或ssh)使用,而不是由git或GitHub端的任何钩子使用。