How can I check out a particular version of one file in Git?

How can I check out a particular version of one file in git?

I found this mail on the mailing list, which said:

$ git checkout HEAD~43 Makefile
$ git reset Makefile

But I don't understand how to find out 'HEAD~43', if I do a git log aFile , how can I find out which 'HEAD~43' I should use?

And why do I need to run git reset for that file? What does it do?


You know what commit (ie: the specific revision) the file belongs to? Then do:

git checkout <commit> <file>

The other command:

git checkout HEAD~N <file>

Is for when you want to get a version of the file from a range back (which I do for nostalgia).



HEAD~43 refers to the commit (version) of the file. Instead of that, you can use the commit hash you get from doing git log on the file. If you just want the file, you don't need to run git reset on it; that's only necessary if you want to forward-port the file to the current HEAD.

链接地址: http://www.djcxy.com/p/23208.html

上一篇: 仅在Git中的一个目录中提交更改

下一篇: 如何在Git中检出一个特定版本的文件?