bash からの stdout を使用して Git コミットしますか?

bash からの stdout を使用して Git コミットしますか?

次のように、stdout からのコミット メッセージを使用することは可能ですか?

echo "Test commit" | git commit -

のメッセージ内容をエコーすることも試みました.git/COMMIT_EDITMSGが、実行すると、git commit指定されたファイルに変更を追加するように求められます。

答え1

オプションを使用することができます-F <file>, --file=<file>

echo "Test commit" | git commit -F -

使用方法については、次のマニュアル ページに記載されていますgit commit

指定されたファイルからコミット メッセージを取得します。標準入力からメッセージを読み込むには - を使用します。

答え2

次のような小さな関数を書くこともできます:

gcm(){ 
    read message
    git commit -m "$message" "$@"
}

これをシェルまたは同等のシェルに追加して~/.bashrc、次を実行します。

echo "Test commit" | gcm filename.to.commit

上記のコマンドは実行されます

git commit -m "Test commit" filename.to.commit

関連情報