git showで以前のコミットのファイルをリネームしてとってくる

July 17, 2025, 3:27 a.m.

#Git 

以前のコミットのファイルを回収してきたいことがたまにある。例えば main.tex をとってきたい場合

git checkout コミットID main.tex

とすれば回収できる。しかし、現在も最新の main.tex が存在する場合は上書きされてしまうので、これをやったあとに mv main.tex old_main.tex からの git checkout main.tex とする必要があり少々面倒である。

そこで調べたところ、 git show とリダイレクトを組み合わせた方法が見つかった。つまり、

git show コミットID:main.tex > old_main.tex

とすればよい。