対話型コマンド (git add -i) がすぐに終了するのはなぜですか?

対話型コマンド (git add -i) がすぐに終了するのはなぜですか?

以前、git add interactive を使用したことがあります。これは小さくて便利な ASCII GUI です。

今日、 を実行したところgit add -i、予想されるダイアログがすべて印刷され、すぐに終了します。 (下のスクリーンショット、gnome ターミナルの bash。)

新しいターミナルを開いて を実行するとgit add -i、正常に動作します。

だから、本当の疑問はおそらく――そのシェルはどのような状態ですか? 修正できますか?

Git は対話型をすぐに終了するように追加します

答え1

どうやら、環境が何らかの理由でおかしくなったようです。最も簡単な方法は、新しいウィンドウ (正常に動作するウィンドウ) を起動し、おかしくなったウィンドウを閉じることです。

sleuth モードの場合、git が使用する可能性のある環境変数 (PATH、EDITOR、PAGER を含む) を比較します。ほとんどの git コマンドは、小さなラッパーによって実行される外部実行可能ファイルです。両方のケースで何が呼び出されるかを確認します (例: strace を使用)。ワークホースを単独で実行した場合に何が起こるかを確認します。「余分な詳細/デバッグ」フラグがあるかどうかを確認します。

Git の開発者は、スクリプト コマンドの一部を C プログラムとして書き直したり、他の実験的な機能を試したりしています。.git/configあまり成熟していない代替手段を選択する可能性がある構成 ( 内、環境変数経由、アカウント全体) を設定していないかどうか確認してください。

関連情報