如何在钩子中读取git push参数?

时间:2013-01-04 02:56:42

标签: git bash shell hook

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

我在bash脚本中尝试了read,但它不起作用。我无法访问STDIN

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

1 个答案:

答案 0 :(得分:1)

没有。 Git不做任何身份验证。 (参见“Distributed Version Control Systems and the Enterprise - a Good mix?”)

您可以从https会话或ssh中获取用户ID(如果~git/.ssh/authorized_keys文件包含该信息):这是gitolite的作用:请参阅“How do programs like gitolite work?”。

您无疑会获得密码。永远。 (这与git或gitolite无关。)

而gitolite将依次调用git本身(如果它授权clone / push / pull命令),但git再次将幸福地不知道用户的id请求克隆/ pull / push:它只会执行它