Git での Committer と Author の違いは?

Why?

Committer と Author の違い

  • 意味
    • Author: オリジナルのコードを書いた人
    • Committer: コミットをした人
  • なぜ?
    • Git は rebase などで歴史を改変できるので、commit --amend などを行っても、オリジナルのコードを書いたのが誰かがわかるように Author が変更されない
      • $ git commit --amend: これは Committer しか変更されない
      • $ git commit --amend --author="kz-engineer <kz-engineer@example.com>": Author option をつけることで、オリジナルを書いた Author の歴史も改変できる

普段の git log はどっちを表示してる?

  • 通常時: Authorだけの表示
$ git log
commit <sha1>
Author: <author>
Date:   <author date>
  • fuller表示: Committer と Author 両方が表示
$ git log --pretty=fuller
commit <sha1>
Author:     <author>
AuthorDate: <author date>
Commit:     <committer>
CommitDate: <committer date>

TODO List

参考