ブログ記事
- Git
- GitHub
- Cursor
- git-commit
- 1分Tips
- コミットメッセージ
- PR作成
- 初心者
git commit -m のスペースを間違えるとコミットが空になりPRに差分が出ない
"「git commit -m」の-とmの間にスペースを入れてしまうとコミットが失敗し、ステージだけが残った状態になります。気づかずpushすると差分ゼロでPRが作れない現象が起きるため、原因の見分け方と再発防止のチェックリストをGit初心者向けに手順つきでまとめました。"
「変更をコミットしてpushしたのに、GitHub側でPRに差分が出ない」——こうした現象に遭遇すると、原因がpush側にあるのかGitHub側にあるのか分からず戸惑ってしまいます。
筆者もCursorでの作業中に同じ状況になり、原因を切り分けたところ、git commit -m のタイプミスが発端でした。この記事では、その症状と原因、再発を防ぐための確認手順をまとめます。
今日の結論
git commit - mのように-とmの間にスペースを入れると、コミットが失敗する- 失敗してもステージ済みの変更は残るため、コミットできたと勘違いしやすい
- その状態でpushすると
Total 0 (delta 0)となり、リモートに差分コミットが届かない- GitHubはpushだけではPRを自動作成しないため、差分ゼロのままではレビューできる内容が存在しない
何が起きたか(症状)
作業の流れを整理すると、次のようになります。
- 変更をコミットしたつもりで
git commit -m "メッセージ"を実行した - 実際には
-とmの間にスペースが入っており、コミットが作成されていなかった - ステージ済みの変更(
git add済みのファイル)はそのまま残っていた - 気づかずpushすると、ターミナルに
Total 0 (delta 0)と表示された - GitHub側でPRを作成しても、mainとの差分が0件でレビューできる内容がなかった
ターミナルの出力を流し見していると、この時点で異常に気づきにくいのが厄介な点です。
原因(なぜ空PRになるのか)
git commit -m "メッセージ"は正しいオプション指定です-とmの間にスペースを入れると、gitはこれを1つのオプションとして解釈できず、コミットがエラーで失敗します(表示されるエラーメッセージは実行環境によって異なる可能性があります)- エラーメッセージが出ていても、ターミナルの出力を見落とすとコミットが成功したと思い込みやすい
git addでステージされた変更はエラー後もそのまま残るため、「変更はしたのにコミットされていない」状態に気づきにくい- push自体はエラーにならず実行できてしまうため、差分がないことに気づくタイミングが遅れる
正しいコミットの作り方(手順)
- コミット前に
git statusで「Changes to be committed」の内容を確認する - 正しい形式
git commit -m "メッセージ"で再コミットする(-mの前後にスペースを入れない) git log -1でコミットが実際に作成されたことを確認するgit push後、ローカルブランチがリモートより ahead になっていることを確認する- 差分があることを確認してから
gh pr createまたはGitHub UIでPRを作成する
# 1. ステージ内容を確認
git status
# 2. 正しい形式でコミット(-m の前後にスペースを入れない)
git commit -m "fix: ○○を修正"
# 3. コミットが作成されたか確認
git log -1
# 4. push後、ahead コミットがあるか確認
git push
git status
再発防止のチェックリスト
| # | 確認タイミング | 確認内容 |
|---|---|---|
| 1 | コミット前 | git status でステージ内容が意図通りか |
| 2 | コミット直後 | git log -1 で直前のコミットが作成されているか |
| 3 | push前 | コミットメッセージのオプション(-m)にタイプミスがないか |
| 4 | push後 | ローカルがリモートより ahead になっているか |
| 5 | PR作成前 | mainとの差分が0件になっていないか |
push前の確認習慣は「GitHub push前の確認ポイント5つ【git statusを最初に習慣化する】」でも詳しく解説しています。あわせて確認しておくと、今回のような空コミットにも早い段階で気づけます。
まとめ・次に読む
git commit -m のスペースミスは、コミットがエラーで失敗しているにもかかわらずステージ内容が残るため、見た目上は「作業した」状態のまま次の工程に進んでしまいがちです。push前の git status 確認と、push後の差分チェックを習慣にしておくことで、空PRの作成を防げます。
Cursor Agentなど自動実行環境でPR作成まで依頼する場合は、「Cursor AgentにPR作成を依頼するなら--fillオプションが確実」も参考になります。
免責: 本記事は2026年7月時点のGit・GitHubの動作をもとに執筆しています。エラーメッセージの表示内容やgitのバージョンによる挙動差はご自身の環境でも確認してください。最新情報はGit公式ドキュメントをご確認ください。