Git中是否有命令可以查看(转储到stdout或$PAGER
或$EDITOR
)特定文件的特定版本?
#1楼
如果您喜欢GUI,则可以使用gitk:
用以下命令启动gitk:
gitk /path/to/file
在屏幕顶部选择修订版本,例如按描述或日期。 默认情况下,屏幕的下部显示该版本的差异(对应于“补丁”单选按钮)。
要查看所选版本的文件:
- 单击“树”单选按钮。 这将显示该修订版中文件树的根。
- 深入到您的文件。
#2楼
按日期执行如下操作:
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt
请注意, HEAD@{2013-02-25}
表示此存储库中的“ HEAD位于2013-02-25上”(使用reflog ),而不是“此历史记录中2013-02-25之前的最后一次提交”。
#3楼
除了Jim Hunziker的回答,
您可以将修订版中的文件导出为
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt > old_fileInCurrentDirectory.txt
希望这可以帮助 :)
#4楼
您可以将git show
与来自存储库根目录的路径一起使用( ./
或../
用于相对路径):
$ git show REVISION:path/to/file
将REVISION替换为您的实际修订版(可以是Git提交SHA,标签名称,分支名称,相对提交名称,或在Git中标识提交的任何其他方式)
例如,要从4次提交之前查看文件repository-root/src/main.c
的版本,请使用:
$ git show HEAD~4:src/main.c
Git for Windows即使在相对于当前目录的路径中也需要正斜杠。 有关更多信息,请查看git-show
的手册页。
#5楼
git log -p
会显示提交日志,还会显示每个提交的差异(合并提交除外)。 然后,您可以按/
,输入文件名,然后按enter
。 按n
或p
转到下一个/上一个事件。 这样,您不仅会看到文件中的更改,而且还会看到提交信息。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3138789