Git

Git v2.3 で追加された GIT_TERMINAL_PROMPT について

More than 3 years have passed since last update.

Git v2.3 から追加された環境変数 GIT_TERMINAL_PROMPT を使うと、ユーザー入力をスキップすることができます。

GIT_TERMINAL_PROMPT を設定しない場合

GIT_TERMINAL_PROMPT が設定されていない場合、プライベートリポジトリを clone しようとしたり、https で設定された remote に対して push しようとしたりした際に、ユーザー名・パスワードの入力を求められて処理が止まってしまいます。

これが意図しない挙動である場合、エラーを吐いて終了して欲しいわけです。

$ git clone https://github.com/pine613/Config.git
Cloning into 'Config'...
Username for 'https://github.com':

GIT_TERMINAL_PROMPT=0 を設定した場合

GIT_TERMINAL_PROMPT が設定されている場合、入力を求められた際はエラーとなりそこで処理が終了します。

$ git version
git version 2.7.0

$ GIT_TERMINAL_PROMPT=0 git clone https://github.com/pine613/Config.git
Cloning into 'Config'...
fatal: could not read Username for 'https://github.com': terminal prompts disabled

まとめ

自動化してある処理など、途中で処理が止まるぐらいならさっさと死んで欲しい処理には、この環境変数を利用すると良いと思います。バージョン 2.3 以降しか使えない点に注意。