複数のユーザーがいるGitリポジトリがあります。彼らがプッシュするとき、クライアントのコマンドラインから引数を読み取ることは可能ですか?たとえば、ユーザー名とパスワード?
bashスクリプトで試しread
ましたが、機能しません。アクセスできませんSTDIN
。
Gitフック(更新)でクライアントコマンドラインから何かを読み取るにはどうすればよいですか?
いいえ。Gitは認証を行いません。(「分散バージョン管理システムとエンタープライズ-良い組み合わせ?」を参照)
~git/.ssh/authorized_keys
httpsセッションまたはsshセッション(ファイルにその情報が含まれている場合)からユーザーIDを取得できます。これがgitoliteの機能です。「 gitoliteなどのプログラムはどのように機能しますか? 」を参照してください。
確かにパスワードを取得することはできません。これまで。(そしてそれはgitやgitoliteとは何の関係もありません)。
そして、gitoliteはgit自体を呼び出します(clone / push / pullコマンドを許可する場合)が、gitは、ユーザーのIDがクローン/ pull/pushを要求していることを幸いにも認識しません。単に実行するだけです。