Gitのブランチの作成者を調べる方法(結論:おそらく方法はない)
今回はGitのブランチの作成者を調べる方法についてご紹介いたします。
ネットで「Git ブランチ 作成者 調べる」などと検索するといくつかヒットしますが、間違いであることが多いです。
多くの情報では、Gitのブランチの作成者を調べる方法ではなく、ブランチが指している最終コミットを誰が行ったかを調査するための方法が記載されています。
私の調べた結論としては、自分が作成したブランチをたどることはできますが、他人の作成したブランチまで知る方法はないです。
Gitのブランチの作成者を調べる方法(結論:おそらく方法はない)
Gitのブランチの作成者を調べる方法について、ネットで調べると次の二つのコマンドを紹介されます。
1 |
git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n |
1 |
git branch -a | xargs -L 1 bash -c 'echo "$1 `git log --pretty=format:"%H %an" $1^..$1`"' _ |
私は上のコマンドしか打ったことはないですが、確かにこのコマンドを打つと一見ブランチの作成者とブランチ名が一覧で表示されたかに見えます。
しかし冒頭でも説明した通り、これらはブランチが指しているコミットを誰が行ったかを調査する方法です。
最終コミットを誰が行ったかは分かるものの、実際にブランチを切ってリモートにブッシュしたのが誰かまでは分かりません。
結論としてはブランチを切ってプッシュしたのは誰かをGitコマンドから調べることは不可能なようです。
詳しくは言えませんし、もしかしたら間違っているかもしれませんが、Gitのブランチという概念はコミットを指すためのポインタのようなもので、ブランチのメタ情報にはブランチの作成者までは入っていないそうです。
ただし、他人のブランチの作成者までは知ることはできませんが、自分で作成したブランチはお馴染みの
git reflog --format=full
で出力したGit操作ログの中で知ることができます。
終わりに
今回はGitのブランチの作成者を調べる方法についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません