14

私はgit clone、あらゆるタイプの Git の場所 (HTTPS、Git、SSH、ファイルシステムなど) を取得し、それを複製する Bash スクリプトを使用しています。ただし、このスクリプトは、ユーザーとの対話なしで機能する必要があります。より正確には、このスクリプトが資格情報を一時停止しないようにしたいと思います。場所に資格情報が必要であり、git がそれらを独自に見つけることができない場合、Git が失敗するようにします。

私のスクリプトは、パスワードなしでこれらの場所にアクセスするための適切な方法を設定しなかった場合、それは問題ではないと想定しています。ただし、解決策は、失敗が何であったかを知る方法を提供する必要があります (たとえば、「認証に失敗しました」というエラーを出力します)。

この動作が必要なのは、単純にスクリプトであり、非対話的に実行されるためです (cron ジョブ、VM の構築など...)。私はそれが失敗し、フィードできない(そしてフィードしたくない)情報を待ってスクリプトをフリーズしないようにする必要があります。

したがって、私の現在の懸念では、git clone資格情報について尋ねるのではなく、それが失敗することを要求しています。

git clone資格情報を要求しないように強制し、できれば認証エラーで失敗するオプションが見つかりませんでした。

4

1 に答える 1

17

更新: git バージョンで > 2.3:

GIT_TERMINAL_PROMPT=0 

以前のバージョンの場合:

失敗を強制するための私のトリックは次のとおりです。

GIT_ASKPASS=/bin/echo git clone ...
于 2014-05-09T11:07:28.897 に答える