Gitのcommitメッセージを複数行にする方法

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. 1行目(タイトル)
    → 変更概要を短く(50文字以内)
    例:ユーザ登録APIを追加
  2. 2行目は空行
    → タイトルと本文を明確に分ける
  3. 3行目以降(本文)
    → 変更の理由や詳細を箇条書きで書く

例:

ユーザ登録APIを追加

・POST /v1/user/register を新規作成
・パスワードバリデーションを追加
・既存ユーザ確認処理を改善

まとめ

方法コマンド例特徴
-mを複数指定git commit -m "タイトル" -m "本文"手軽に複数行を指定可能
エディタで入力git commit一番柔軟で推奨される方法
ファイルを指定git commit -F msg.txtスクリプトや自動化で便利
ヒアドキュメントgit commit -F- <<'EOF' ... EOFファイル不要・シェル内完結

複数行のコミットメッセージを使いこなせば、
履歴が整理され、チーム開発でも意図が伝わりやすくなります。

コメント

タイトルとURLをコピーしました