Git:如何查看文件的旧版本(在添加到临时区域/索引之前)?

时间:2011-09-18 14:03:18

标签: git

假设我更改了文件foo.txt并运行git add foo.txt。现在foo.txt出现在"要提交的更改列表中#34}。

现在我希望在这些更改之前看到我的foo.txt 。如何使用git执行此操作?

2 个答案:

答案 0 :(得分:12)

您可以执行以下操作:

git show HEAD:foo.txt

通常,此语法对于在不触及工作树的情况下查看特定提交中的文件非常有用。例如,如果您想查看提交README.txt的祖父母中的f414f31是什么样的,您可以这样做:

git show f414f31^^:README.txt

更新:如下面的VonC条评论,重要的是要注意这里的路径必须是工作树根目录的完整路径,即使您当前位于子目录中。 / em>的

然而,当暂存变更时,人们往往更容易对差异感兴趣,这就是Abizern interpreted your question as asking about。思考这些命令的一种简单方法是:

  • git diff表示“我还没有上演哪些变化?”
  • git diff --cached表示“我已经上演了哪些更改?”

答案 1 :(得分:6)

认为你所问的是关于差异(显示文件版本之间的差异)

我写过here

但摘要图是:

enter image description here