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

Gitはbashの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

関連情報