Git タスクを自動化するスクリプトを作成しています。これを手動で実行すると、コミットメッセージを編集するために git が vim を開く箇所がいくつかあり、 と入力する必要があります:wq
。vim が開いている場合にのみ、スクリプトからこれらのキーストロークを事前に送信する方法はありますか? あるいは、そもそも vim を開かないようにする方法はありますか?
私はtcshを使用しています。
答え1
そもそも Vim を開かないようにすることもできます。
--message=<message>
その 1 つの方法は、 の(または-m <message>
、略して ) オプションを使用することですgit subtree pull
。欠点は、git によって提供されるデフォルトのメッセージを使用できず、独自のメッセージを作成する必要があることです。利点は、git がコミット メッセージを必要とするほぼすべての場所でこれが機能することです。
もう一つの選択肢はするデフォルトのメッセージを使用するには、git が開く「エディター」を cat に変更します。次の操作の直後に、必ず元に戻すようにしてください。
git config --local core.editor /path/to/cat
git subtree pull --prefix foo/bar/path repo branch --squash
git config --local core.editor /path/to/vim-or-other-editor
この方法の利点は、git が提供するデフォルトのメッセージを使用できることです。欠点は、デフォルトのコミット メッセージが空の場合 (プレーンな を実行する場合が一般的)、これが機能しないことですgit commit
。