gitでgit checkout <commit> -- <file>
で任意のリビジョンに戻せることは知っていたのですが、「別名で保存したい時ってどうやってやるんだろう?」と前から思っていました。(ググっても欲する情報にヒットしない...)
で、やっとわかったので折角なのでアウトプットしておきます。
git cat-file blob <commit>:<file>
これで標準出力に出力されますので、ファイルにリダイレクトすればOK!
例
git cat-file blob git cat-file blob e4426a7:.vimrc > vimrc_e4426a7
まぁしかし、これ結構使いそうなのに入門書とかに載ってないよねぇー不思議。
大抵はgit diff
を使うっていうのはあるけど...
追記
git show <commit>:<file>
これでもできた。(thanks to @k_takata)