在Git中是否有一个命令可以看到(无论是转储到stdout,还是在$PAGER
或$EDITOR
中)某个文件的特定版本?
你可以使用git show
。
$ git show REVISION:path/to/file
用你的实际修订版替换REVISION(可以是Git提交的SHA、标签名、分支名、相对提交名,或者其他任何在Git中标识提交的方式)。
例如,要查看4次提交前的文件src/main.c
的版本,请使用。
$ git show HEAD~4:src/main.c
注意,除非是以./或./开头表示相对路径,否则路径是从仓库的根部开始。Windows版的Git即使在相对于当前目录的路径中也需要使用正斜杠。 更多信息,请查看git-show
的手册页。
按日期来做是这样的。
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt
请注意,HEAD@{2013-02-25}
意味着"HEAD在2013-02-25的位置"在这个版本库中(使用reflog),而不是"在历史中这个分支在2013-02-25之前的最后一次提交"。
如果你喜欢GUI,你可以使用gitk。
用以下方式启动gitk
gitk /path/to/file
2.2. 在屏幕的上半部分选择修订版,例如通过描述或日期。默认情况下,屏幕的下半部分显示该版本的差异,(对应于"patch"单选按钮)。
3.3. 查看所选修订版的文件。