是否有快速的Git命令来查看文件的旧版本?

Git中是否有命令能够查看(转储到stdout或$PAGER$EDITOR )特定文件的特定版本? html


#1楼

若是您喜欢GUI,则可使用gitk: git

  1. 用如下命令启动gitk: github

    gitk /path/to/file
  2. 在屏幕顶部选择修订版本,例如按描述或日期。 默认状况下,屏幕的下部显示该版本的差别(对应于“补丁”单选按钮)。 spa

  3. 要查看所选版本的文件: 日志

    • 单击“树”单选按钮。 这将显示该修订版中文件树的根。
    • 深刻到您的文件。

#2楼

按日期执行以下操做: code

git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt

请注意, HEAD@{2013-02-25}表示此存储库中的“ HEAD位于2013-02-25上”(使用reflog ),而不是“此历史记录中2013-02-25以前的最后一次提交”。 htm


#3楼

除了Jim Hunziker的回答, 事件

您能够将修订版中的文件导出为 get

git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt > old_fileInCurrentDirectory.txt

但愿这能够帮助 :) it


#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 。 按np转到下一个/上一个事件。 这样,您不只会看到文件中的更改,并且还会看到提交信息。

相关文章
相关标签/搜索