Continue(s)

Twitter:@dn0t_ GitHub:@ogrew

自分のcommit logだけを見たい!author,committerの違いとは。

チームで開発しているレポジトリの場合、自分もしくは他の誰かがコミットした情報のみをまとめて確認したいというケースが稀にある。

$ git log --author=[user_name]

もしくは

$ git log --committer=[user_name]

で検索ができる。
と、ここまでは検索すればすぐに出てくるが、このauthor or committer の違いをわかっていない分にはこれだとなんとももどかしい。
ということで調べた。


git はすべてのcommitにAuthorとCommitterの情報を記録している。

- Authorはコードを書いた人
- Committerはリポジトリにコミットした人

この違いは過去のコミットを操作した際などに重宝される。

つまり、ある人がコードを書いてそれをコミットしたあとにgit commit --amend などで他の誰かが改変した場合にもAuthorは変更されず、あくまでCommitterのみが変更される。

ちなみにAuthorごと過去を改変することも可能なようだが、あまり利用ケースが思いつかない。その人がいた事自体を消したい場合、あるいは見せたくない本名やアドレスが含まれていた場合などだろうか…?

通常の git log コマンドではAuthorしか表示されない。

Committerも一緒に表示させるにはoptionをつけて git log --pretty=full などとするとよい。

参考)

git-scm.com

stackoverflow.com