GitHubで共同作者をコミットに紐付ける方法

2022.06.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、八木です。

現在新卒研修でチーム開発を行なっていますが、ペアプロの際、「書いたコードは誰に属するか」という話題が出ました。
ペアプロ、モブプロでは基本的にドライバーがコードを書くものの、コードを考える人は参加者全員になります。コミットの際、コードを書いたドライバーの情報はgitのユーザ情報として残りますが、ナビゲーターの情報は残すことができません。

そこで、GitHubの「コミット毎に共同作者を紐付けてくれる機能」を見つけたので、紹介します。

方法はシンプルで、以下のようにコミットメッセージの最後に、1行以上の空行を入れて Co-authored-by: nameをつけます。name@example.comは共同作成者がGitHubで使用しているメールアドレスです。

Fix typo

Co-authored-by: name <name@example.com>

Co-authored-byで指定したメールアドレスに対応するGitHubアカウントが存在すれば、ブラウザではアカウントを紐付けて表示してくれます。

共同作者は複数人指定することもでき、その場合はCo-authored-by:を複数記述します。

Fix typo

Co-authored-by: name <name@example.com>
Co-authored-by: another-name <another-name@example.com>

共同作者のメールアドレスを公開したくない場合は、@users.noreply.github.comのようなフォーマットの、GitHubが提供するno-replyメールを代わりに使用することができます。
詳しくはこちらをご覧ください。

今回はGitHubの機能を紹介しましたが、GitLabでも同じような機能があるようです

自分のコードでさえ、半年後には忘れていたりするものです。ナビゲーターのメンバーまで覚えておくことはより難しいでしょう。
ログを残すという観点でも非常に便利なので、ペアプロの際はぜひ使ってみてください!

参考記事

Commit together with co-authors
複数の作者を持つコミットを作成する