特定文件上的previouse SHA上的“Git show”

时间:2016-08-05 08:46:49

标签: git

我需要在之前的提交中运行“git show”但是对于特定文件。我使用了以下命令,但它不起作用。

git show SHA~1:file_path

可能的工作命令是什么?

2 个答案:

答案 0 :(得分:0)

我无法重现您的问题,因为此命令应该有效。

此命令显示完整文件,就像您告诉它的特定提交一样。

如果要在该修补程序中向本地workdir显示该修补程序的差异,请改用该语法:

git diff <revision> <path>

git diff SHA~1 file_path

如果要显示该文件的补丁,请使用

git log -p -1 <revision> <path>

答案 1 :(得分:0)

在提交上运行git show将仅显示与该提交关联的差异。来自documentation

  

对于提交,它显示日志消息和文本差异。

如果您想查看特定文件的差异,则需要git diff使用range syntax

git diff SHA-1^:path/to/file..SHA-1:path/to/file

这将显示path/to/file与指定SHA-1及其父项的提交之间的差异,以SHA-1^引用。您可以在有关ancestry references的文档中了解有关引用父项提交的不同方法。