あれ、このブランチいつ切ったんだっけ?ブランチの作成日付が調べたい。こんな経験ありませんか?ありますよね。そんなあなたに悲報です。
#ブランチの作成日付を調べることはできない
できません。なぜなら記録されていないからです。gitにおけるブランチ1の実体は単なるコミットの参照であり、ブランチ作成時に新しいオブジェクトが作成されるわけではありません。よって日付も記録されません。
(参考:Gitのリポジトリの中身をなるべく正確に理解する | To Be Decided)
#じゃあどうするか
代わりに「ブランチを切った時点での最新コミット」を調べましょう。そのコミットと次のコミットの間にブランチが作成されたことになります。
まずブランチへのチェックアウト履歴を調べます。
git reflog |grep checkout |grep <ブランチ名>
# 8bb5062 HEAD@{0}: checkout: moving from development to master
# 8e092f6 HEAD@{3}: checkout: moving from master to development
# 43d351a HEAD@{6}: checkout: moving from development to master
# 43d351a HEAD@{9}: checkout: moving from master to development
複数行出力される場合は一番下、HASH値「43d351a」が指すのが最初のチェックアウトです。この時の最新コミットが作成された日時を調べます。
git show 43d351a
# commit 43d351ac8870b26742c32944f674e7e91ad76669
# Author: Inoue <inoue@test.com>
# Date: Sun May 21 01:54:26 2017 +0900
#
# initial commit on branch
#
# (以下略)
というわけで、2017年5月21日1時54分以降に作成されたブランチなんだろうなーくらいのことがわかりました。何らかの事情で正確なブランチ作成日付が知りたい場合は自分で記録しておきましょう。
参考:How to determine when a Git branch was created? - Stack Overflow
-
本記事ではローカルブランチを指します。 ↩