Gitでコミットメッセージを書くとき、1行だけでは変更内容を十分に説明できないことがあります。
実は、複数行のメッセージを書く方法はいくつも存在します。
ここでは、主な4つの方法を紹介します。
1. -m オプションを複数指定する方法
もっとも簡単な方法が、git commit -m を複数回使う方法です。
git commit -m "機能Aを追加" -m "・フォーム入力値のバリデーションを実装
・エラーメッセージを追加
・単体テストを更新"
出力結果:
機能Aを追加
・フォーム入力値のバリデーションを実装
・エラーメッセージを追加
・単体テストを更新
ポイント
- 1行目は概要(タイトル)として簡潔に
- 2行目は空行を入れて本文を区切る
- 本文では「何を」「なぜ」行ったのかを説明する
2. エディタを開いて複数行で書く方法(推奨)
-m を付けずに git commit を実行すると、Gitがデフォルトエディタ(Vimなど)を開きます。
git commit
エディタが開いたら、以下のように記述します。
ログイン画面のデザインを修正
・ボタンの位置を中央寄せに調整
・スマホでのフォントサイズを統一
・アクセシビリティ対応(タブ順の見直し)
保存して閉じると、複数行メッセージとして登録されます。
エディタをVSCodeに変更する
git config --global core.editor "code --wait"
VSCodeでコミットメッセージを編集できるようになります。
3. メッセージファイルを指定する方法
テキストファイルにメッセージを書き、それを指定してコミットします。
echo -e "新規APIエンドポイントを追加\n\n・/v1/user/list を追加\n・認証トークンをヘッダーに統一" > msg.txt
git commit -F msg.txt
この方法は、スクリプトやCI/CDの自動化で特に便利です。
4. ヒアドキュメントを使う方法(スクリプト向け)
シェルスクリプトやワンライナーで、ヒアドキュメントを使って複数行メッセージを直接書くこともできます。
git commit -F- <<'EOF'
新しいバリデーション機能を追加
・パスワードの強度チェックを追加
・電話番号のフォーマットを改善
・エラーメッセージを日本語化
EOF
ここでは、-F- が「標準入力(stdin)から読み込む」という意味です。<<'EOF' はヒアドキュメントの始まりを示し、EOF で終了します。
ヒアドキュメントの利点
- ファイルを作成せずに複数行のメッセージを記述できる
- スクリプト内で柔軟に使える(CI/CD・自動化に最適)
- 引用符
'EOF'を使うと変数展開されないため安全
5. 複数行メッセージの書き方のベストプラクティス
- 1行目(タイトル)
→ 変更概要を短く(50文字以内)
例:ユーザ登録APIを追加 - 2行目は空行
→ タイトルと本文を明確に分ける - 3行目以降(本文)
→ 変更の理由や詳細を箇条書きで書く
例:
ユーザ登録APIを追加
・POST /v1/user/register を新規作成
・パスワードバリデーションを追加
・既存ユーザ確認処理を改善
まとめ
| 方法 | コマンド例 | 特徴 |
|---|---|---|
-mを複数指定 | git commit -m "タイトル" -m "本文" | 手軽に複数行を指定可能 |
| エディタで入力 | git commit | 一番柔軟で推奨される方法 |
| ファイルを指定 | git commit -F msg.txt | スクリプトや自動化で便利 |
| ヒアドキュメント | git commit -F- <<'EOF' ... EOF | ファイル不要・シェル内完結 |
複数行のコミットメッセージを使いこなせば、
履歴が整理され、チーム開発でも意図が伝わりやすくなります。


コメント