Git中是否有命令可以查看(转储到stdout,或在$PAGER或$EDITOR中)特定文件的特定版本?


当前回答

您可以使用这样的脚本将文件的所有版本转储到单独的文件中:

e.g.

git_dump_all_versions_of_a_file.sh path/to/somefile.txt

在此处获取脚本,作为另一个类似问题的答案

其他回答

要快速查看与文件旧版本的差异,请执行以下操作:

git show-1 filename.txt>以与文件的最新版本进行比较git show-2 filename.txt>与第二个最新版本进行比较git show-3 fielname.txt>与上一个第三个最新版本进行比较

如果您喜欢GUI,可以使用gitk:

gitk开头为:gitk/path/to/file选择屏幕顶部的修订,例如按描述或日期。默认情况下,屏幕下部显示该版本的差异(对应于“补丁”单选按钮)。要查看选定版本的文件,请执行以下操作:单击“树”单选按钮。这将显示该版本的文件树的根。深入到您的文件。

除了吉姆·亨齐克的回答,

可以将修订中的文件导出为,

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

希望这有帮助:)

gitlog-p不仅会显示提交日志,还会显示每次提交的差异(合并提交除外)。然后可以按/,输入文件名,然后按enter。按n或p转到下一次/上一次出现。这样,您不仅可以看到文件中的更改,还可以看到提交信息。

您可以使用这样的脚本将文件的所有版本转储到单独的文件中:

e.g.

git_dump_all_versions_of_a_file.sh path/to/somefile.txt

在此处获取脚本,作为另一个类似问题的答案