Git で Version から当時のソースをあさりたいとき

背景

  • bundler / Gemfile.lock みたいに色んなバージョンが可視化されて、管理されていれば良いが実際はそんなユートピアでは無い。
  • 低意識で yum install とかした日には、最新版が入ってくる
  • 原因を特定する際にソースを漁ったりするが、その時に結構忘れるので、アレだな、って思ったのでメモっとく

具体例

  • 何となく puma の例で見る
$ git clone https://github.com/puma/puma
$ cd puma
  • タグを見る
$ git tag
v1.0.0
v1.1.0
v1.1.1
v1.2.0
v1.2.1
v1.2.2
v1.3.0
v1.3.1
v1.4.0
v1.5.0
v1.6.2
v2.0.0

version => revision

  • バージョンから リビジョンを見る
$  git rev-list -n 1 v1.0.0
cd4d8722ccd6027c4e6a6d7998d6e117998945a8
  • github でみる(プラットフォームにロックインしているので汎用的では無い)
ブラウザで 以下のURL を開く https://github.com/puma/puma/tree/cd4d8722ccd6027c4e6a6d7998d6e117998945a8

ローカルに clone して当時のソースを漁る

  • checkout するらしい
$ git checkout cd4d8722ccd6027c4e6a6d7998d6e117998945a8

Reference

  • 何かググったら出てきた気がする