1

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

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

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

4

1 回答 1

1

不,Git 不进行任何身份验证。(请参阅“分布式版本控制系统和企业 - 一个好的组合? ”)

您可以从 https 会话或 ssh 会话中获取用户 ID(如果~git/.ssh/authorized_keys文件包含该信息):这就是gitolite所做的:请参阅“ gitolite 之类的程序如何工作? ”。

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

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

于 2013-01-04T07:09:48.357 回答