Git Commit時のメッセージをさらに踏み込んで
概要
前の記事 https://zenn.dev/masaki_mori72/articles/8ccc180632ba50 で git commit
コマンドには想像以上に多くのオプションや使い方が存在していることに触れました。
さらにコミットメッセージに絞って git commit
コマンドを調べていきます。
コミットメッセージをVisutal Studio Codeで入力する
git config --global core.editor 'code --wait'
# commitを実施する
git commit
普段はGit のデフォルトエディタ(vi, vim, nanoなど)でコミットメッセージを編集していますが、慣れた環境を使いたいときはコンフィグを更新してみましょう。
特にWindowsのGit Bash環境だと日本語入力が変な挙動をすることがあるので外部エディタを使うのはおすすめです
コマンドラインから複数行を入力する
コマンドラインから複数行をスムーズに入力する裏技。オプションやシェルの特性をうまく使うことでミスなく効率的にメッセージを入力できます。
# m オプションを2回使う
git commit -m "コミットの概要" -m "ここから詳細メッセージを数行書くことができます。"
# ヒアドキュメントを使う(一部のシェルで可能)
git commit <<EOF
コミットのタイトル
コミットの詳細をここで書く。
EOF
コミットメッセージのテンプレートを使う
コミットメッセージにテンプレートを設定できます。チームでテンプレートを共有して統一したコミットメッセージにするのはチーム開発で役立ちそうです。
例えば、今回は .gitmessage.txt
というファイルをテンプレートファイルとして使ってみます。(名前はなんでもいいので適宜読み替えてください)
# 1行目はタグとタイトル
<バージョンタグ> : <修正タイトル>
# 詳細メッセージや変更点を書いていく
テンプレートを作成したらコンフィグから設定します。
git config --global commit.template ~/.gitmessage.txt
テンプレートについては他の方で参考になるルールもありますので検索していくつか見てみるといいかもしれません。今回はあくまで機能紹介なのでテンプレートの良し悪しは議論しません。
コミットメッセージをファイルから読み込む
git commit -F <メッセージを記載したファイル>
コミットメッセージを自動化したり、あらかじめ変更ログを用意している場合はパイプを使わなくても直接ファイルを入れることも可能です。
Diffを見ながらコミットメッセージを記載する
git commit -v
Github環境でIssueと連携する
Github環境を使っている場合は特殊なコミットメッセージを挿入できます。
# + Issue 番号
を記述すると自動リンクになります(例: #123
)。GitHub なら Close #123
とすると、プルリクやコミットがマージされたタイミングで Issue が閉じることもできます。
詳しくはGithub公式ドキュメントを参考にしてください。
Discussion