【GitHub】PR作成時に説明欄に変な文字列が入る? 原因は「タイトルの自動分割」だった!
GitHub でコミットをプッシュしたあと、「Compare & pull request」ボタンから PR を作成すると、説明欄(description)に謎の文字列が混ざっていることはありませんか?
たとえば、次のようなケースです。
- PR タイトルが
Update example/action version in workflow conf...
のように途中で「…」と省略されている - 説明欄の先頭に
...iguration
のような続きの文字が入っている
実はこれ、GitHub の 自動整形仕様によって発生する自然な現象なんです。
この記事では、なぜこんなことが起きるのか、そしてどう対処すればいいのかをわかりやすく解説します。
現象の概要
SourceTree などの Git クライアントでコミットを行い、そのブランチを GitHub にプッシュしたあとに「Compare & pull request」ボタンから PR を作成すると――
- タイトルが途中で切れて「…」になる
- 説明欄(body)の先頭に「タイトルの残りの文字列」が挿入されてしまう
という見た目になります。
特に .github/PULL_REQUEST_TEMPLATE.md
を使っている場合、テンプレート本文の 最上部に「…続きの文字列」が混ざってしまう ため、違和感を覚える人も多いはずです。
原因:GitHub の PR 自動生成ロジックによる「72文字分割」
この挙動の原因は、GitHub がコミットメッセージをもとに PR を自動生成する際の処理にあります。
🧩 GitHub の仕様まとめ
- コミットメッセージの1行目 → PRタイトル
- 2行目以降 → PR本文(description)
- ただし、1行目が長い場合(およそ72文字を超える)は、GitHub UI が途中でタイトルを分割し、残りを本文の先頭に挿入してしまう
つまりコミットメッセージが1行だけで長い場合、
Update example/action version in workflow configuration for better compatibility
が GitHub 上では、
タイトル: Update example/action version in workflow conf…
本文: …iguration for better compatibility
(以下、テンプレート本文)
のように扱われる、というわけです。
SourceTree を使うと起きやすい理由
SourceTree のコミット画面では、デフォルトで1行しか入力しないことが多いため、その1行が「タイトル+本文」扱いになってしまいます。
Git 的には問題ありませんが、GitHub が「1行目をタイトル」と解釈するため、長いコミットメッセージだと上記のように自動分割が発生します。
対策・防止方法
✅ 対策1:コミットメッセージを2行構成にする
Git の基本スタイルに沿って、以下のように タイトル行+空行+本文 で書くようにします。
Update example/action version in workflow
Bump from v1.0.0 to v1.1.0 to support Node 20.
これなら、PRタイトルと本文が自然に分かれ、変な分割は起きません。
✅ 対策2:タイトルを72文字以内に収める
短めのタイトル(推奨 50〜70文字)を心がけることで、GitHub が自動分割することを防げます。
✅ 良い例:
Update example/action version in workflow config
⚠️ 悪い例:
Update example/action version in workflow configuration for improved compatibility with newer runtime environments
✅ 対策3:テンプレートの上部にコメント行を入れる
もしどうしてもタイトルの残りが混ざってしまう場合は、PULL_REQUEST_TEMPLATE.md
の先頭にコメント行を追加しておくと、本文とテンプレートの間に区切りができ、視覚的にわかりやすくなります。
<!– PR Description starts below –>
まとめ
GitHub の PR 作成時に「説明欄の上にタイトルの残りが出てしまう」現象は、タイトル(コミット1行目)が72文字を超えていたために、GitHub がUI上で自動的に本文へ分割したことが原因です。
特に SourceTree などで「1行の長いコミットメッセージ」を使っている場合に起きやすく、.github/PULL_REQUEST_TEMPLATE.md
と組み合わせると余計に目立ちます。
再発を防ぐには:
- コミットメッセージを 1行目タイトル+空行+本文 に分ける
- タイトルは 70文字以内 に収める
- 必要ならテンプレートにコメント行を入れて区切る
この3つを意識するだけで、きれいで読みやすい PR が作れるようになります。