如何在Git中查看一个文件的特定版本?

n17*_*911 86 git

如何在git中查看一个文件的特定版本?

在邮件列表上发现了这封邮件,其中说:

$ git checkout HEAD~43 Makefile
$ git reset Makefile
Run Code Online (Sandbox Code Playgroud)

但我不明白如何找出'HEAD~43',如果我这样做git log aFile,怎么才能找出我应该使用哪个'HEAD~43'?

为什么我需要运行git reset该文件?它有什么作用?

Fak*_*hid 103

您知道该文件属于哪个提交(即:特定修订)?然后做:

git checkout <commit> <file>
Run Code Online (Sandbox Code Playgroud)

另一个命令:

git checkout HEAD~N <file>
Run Code Online (Sandbox Code Playgroud)

当你想从一个范围后面获取该文件的版本时(我为怀旧而做).


dhi*_*ill 18

HEAD~43只是树木,所以你可以使用哈希或标签.您必须将树状文件与文件名分开--,否则将其视为文件名.例如.

git checkout v0.45 -- filename
git checkout HEAD^ -- filename
git checkout 16bb1a4eeaa9 -- filename
Run Code Online (Sandbox Code Playgroud)