GitHub:共同作者がコミットに数えられない
コミットを複数の作者のものにするには、コミットのメッセージに Co-authored-by の行(トレーラー)を1つ以上書きます。コミットが共同作者の貢献として数えられるには、その人の GitHub.com のアカウントに登録されたメールアドレスを使います。メールアドレスを非公開にしている人には、GitHub が用意した no-reply のメールを使います(GitHub の説明「複数の作者でコミットを作る」・2026年10月27日に確認)。
Refactor usability tests. Co-authored-by: NAME <NAME@EXAMPLE.COM> Co-authored-by: ANOTHER-NAME <ANOTHER-NAME@EXAMPLE.COM>
共同作者が数えられない理由
- 書き方:共同作者1人につき
Co-authored-by: 名前 <メール>を1行、コミットの説明と空の行の後に書きます。GitHub のウェブのエディターでは、コミットのメッセージの下の欄に書きます。 - メール:GitHub は、メールアドレスを GitHub のアカウントのメールアドレスと突き合わせて、コミットを人につなげます。共同作者が自分のアカウントに登録していないアドレスでは、その人につながりません。
- 誰にもつながらない:GitHub のコミットで、ユーザー名の隣の印が理由を言います。Unrecognized author(メールあり)ならそのアドレスをアカウントに足す、Unrecognized author(メールなし)なら Git にコミットのメールを設定してアカウントに足す、Invalid email なら正しいアドレスを設定します(GitHub の説明「コミットのトラブルシューティング」)。
- 別の人につながる:手元の Git の設定のメールアドレスを、作業するマシンそれぞれで変え、そのアドレスを自分のアカウントに足します。別の人につながっても、その人がリポジトリに入れるようにはなりません。
スカッシュマージ
- 新しいコミット1つ:Squash and merge は、プルリクのコミットをマージ先のブランチの1つのコミットにまとめ、書き換えられる既定のコミットメッセージをつけます(GitHub の説明「プルリクのマージ」)。
- 既定のメッセージ:コミットが1つならそのコミットのタイトルとメッセージ、2つ以上ならプルリクのタイトルとコミットの一覧です。リポジトリによっては、プルリクのタイトルだけ、タイトルとコミットの詳細、タイトルと説明のどれかにしています(GitHub の説明「コミットのスカッシュを設定する」・マージのコミットメッセージが思った形にならないも参照)。
- メッセージを見る:トレーラーはコミットのメッセージの一部なので、スカッシュマージの前に、入るコミットのメッセージに
Co-authored-byの行が残っているかを確かめます。
組織の代わりにコミットする
- 書き方:署名したコミットに
on-behalf-of: @ORG NAME@ORGANIZATION.COMを書くと、コミットが組織のものになります。その組織のメンバーで、自分のコミットのメールと組織のメールの両方が、組織の確認済みのドメインにある必要があります。GitHub Enterprise Server では使えません。
直す所
- これからのコミット:アドレスをアカウントに足せば、そのアドレスを使うこれからのコミットはつながります。メールの設定を変えても、古いコミットはつながらないことがあります。
- まだ push していないコミット:
git commit --amendで、メッセージにトレーラーを足します。 - push 済みのコミット:メッセージを変えるとコミットの ID が変わるので、書き換えた履歴を強制 push します(たとえば
git push --force-with-lease・GitHub の説明「コミットのメッセージを変える」。ブランチが断るなら強制 push が止められるを参照)。
IntelliJ IDEA はコミットごとに作者を1人だけ読み、トレーラーはメッセージの文のまま
IntelliJ IDEA に入っている GitHub の機能が、プルリクのコミットを誰が書いたかをどう読むか。ソース(2026年10月31日に確認・IntelliJ IDEA:commitShort.graphql・commit.graphql・gitActorInfo.graphql・GraphQL のファイル)では:
- 作者は1人:コミットごとに
author(名前・メール・アバター・日時・GitHub のユーザー)とcommitterをGitHub に頼みます。78本の GraphQL のファイルのどれも、git の作者と Co-authored-by のトレーラーから GitHub が作る一覧authorsを頼まないので、GitHub が誰を共同作者に数えているかを IDE は読みません。 - トレーラーは文のまま:コミットの
messageHeadlineとmessageBodyを頼むので、Co-authored-by の行は読むメッセージの一部で、作者としては扱いません。
IntelliJ IDEA で GitHub のプルリクを見るなら
Lesstep の Pull Request Inbox for GitHub は、JetBrains IDE(2024.1 以降)のプラグインです。プルリクのレビュー・チェック・会話を差分の隣に出し、対象のブランチが許す方法でマージします。マージの画面が決めるのは、マージやスカッシュのコミットのタイトルだけです(空なら GitHub の既定のタイトル)。メッセージには何も足さないので、残りは GitHub が自動でつけるメッセージになります。受信箱・差分・会話は無料、承認・コメント・解決・マージは Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
GitHub は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:GitHub のマージの断り(405・409) · GitHub のレビューの断り(422) · GitHub の検索の 422「Validation Failed」 · 「Resource not accessible by personal access token」 · 401「Bad credentials」 · 「Resource protected by organization SAML enforcement」 · 「API rate limit exceeded」 · GitHub の差分の 406「too_large」・3,000件 · GitHub の行のコメントの 422「must be part of the diff」 · GitHub のブランチの更新の断り(422) · GitHub のプルリクが作れない(422・403) · GitHub の自動マージの断り · GitHub の下書き・レビュー準備完了・閉じるの断り · GitHub の会話の解決の断り · GitHub のチェックが出ない(check runs の 403) · GitHub のファイルの中身が読めない · GitHub の比較の断り(404・422) · GitHub のコメント・返信の断り(ロック・アーカイブの 403) · GitHub のマージの方法の断り(405) · GitHub のブランチが見つからない(404・301) · GitHub Enterprise Server につながらない · GitHub のレビューの依頼が出ない · GitHub のプルリクの一覧が足りない · GitHub の 404・名前を変えたリポジトリ(301・307) · GitHub の行のコメントが outdated・差分に無い · GitHub のプルリクの更新・通知が遅い · GitHub の変更の提案が適用できない · GitHub の必須チェックが Expected のまま · GitHub でコードオーナーのレビューが要る · GitHub で未解決の会話がマージを止める · GitHub で署名の無いコミットがマージを止める · GitHub のマージキューでマージするブランチ · GitHub でマージが最後の push の承認を待っている · GitHub でマージがコードスキャンの結果を待っている · GitHub でマージがコード品質の結果を待っている · GitHub でコードのカバレッジの水準がマージを止める · GitHub でライセンスの適合の結果がマージを止める · GitHub でブランチのロックや更新の制限がマージを止める · GitHub でマージの後にブランチが消えない · GitHub でチームの承認(Required reviewers)がマージを止める · GitHub でシークレットスキャンのアラートがマージを止める · GitHub でスタックしたプルリクがマージできない · GitHub で push の規則が push を止める · GitHub でコミットのメタデータの規則がマージを止める · GitHub で強制 push が止められる · GitHub でプルリクをマージしても issue が閉じない · GitHub のプルリクを手元にチェックアウトできない · GitHub のプルリクがマージ先と衝突している · GitHub で変更を依頼された・レビューを取り消す · GitHub で依存関係のレビューのチェックが失敗する · GitHub で Dependabot がプルリクをリベースしない · GitHub でフォークが同期できない · GitHub でプルリクのベースのブランチを変えられない · GitHub でプルリクを取り消せない · GitHub でプルリクのテンプレートが出ない · GitHub でプルリクにラベルや担当者が付かない · GitHub でプルリクを閉じられない・開き直せない · GitHub でプッシュ保護にプッシュを止められた · GitHub でプルリクのコメントが隠された · GitHub でデプロイが成功するまでプルリクをマージできない · GitHub でチームに頼んだレビューがメンバーに置き換わった · GitHub でプルリクのファイルの Viewed が外れた · GitHub でマージしていないプルリクがマージ済みになった · GitHub で Copilot のレビューが承認に数えられない · GitHub でワークフローが作ったプルリクのチェックが動かない · GitHub でプルリクに Update branch のボタンが出ない · GitHub で Dependabot のプルリクのチェックが失敗する · GitHub でフォークからのプルリクのチェックが失敗する · GitHub でコミットメッセージの [skip ci] でチェックが動かない · GitHub で保存期間を過ぎてチェックが消えた · GitHub の公開リポジトリのコードレビューの制限 · GitHub でリポジトリのプルリクがオフ・制限されている · GitHub でスタックのプルリクごとにチェックが走る · GitHub でスカッシュでマージ済みのコミットが次のプルリクに出る · GitHub のプルリクでファイルの差分が出ない · GitHub でフォークのプルリクのブランチに push できない · GitHub のプルリクのチェックが取り消された · GitHub で Rebase and merge が使えない · GitHub のマージのコミットメッセージが思った形にならない · GitHub のプルリクでファイルの全行が変わったと出る · GitHub の API がタイムアウトした · GitHub のプルリクで画像や文書の差分が見た目で出ない · GitHub のレビューの依頼が断られる(422) · GitHub で Copilot が作ったプルリクのチェックが動かない・承認が数えられない · GitHub の push が GH006・GH013 で断られる · GitHub で承認が足りずマージできない・数に入らない承認 · JetBrains の IDE で GitHub のプルリクを扱う · English