Git中是否有命令能够查看(转储到stdout或$PAGER
或$EDITOR
)特定文件的特定版本? html
若是您喜欢GUI,则可使用gitk: git
用如下命令启动gitk: github
gitk /path/to/file
在屏幕顶部选择修订版本,例如按描述或日期。 默认状况下,屏幕的下部显示该版本的差别(对应于“补丁”单选按钮)。 spa
要查看所选版本的文件: 日志
按日期执行以下操做: code
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt
请注意, HEAD@{2013-02-25}
表示此存储库中的“ HEAD位于2013-02-25上”(使用reflog ),而不是“此历史记录中2013-02-25以前的最后一次提交”。 htm
除了Jim Hunziker的回答, 事件
您能够将修订版中的文件导出为 get
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt > old_fileInCurrentDirectory.txt
但愿这能够帮助 :) it
您能够将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
的手册页。
git log -p
会显示提交日志,还会显示每一个提交的差别(合并提交除外)。 而后,您能够按/
,输入文件名,而后按enter
。 按n
或p
转到下一个/上一个事件。 这样,您不只会看到文件中的更改,并且还会看到提交信息。