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

Mic*_*ael 7 git

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

现在我想foo.txt 这些变化之前看到我.我怎么能这样做git

Mar*_*air 12

您可以执行以下操作:

git show HEAD:foo.txt
Run Code Online (Sandbox Code Playgroud)

通常,此语法对于在不触及工作树的情况下查看特定提交中的文件非常有用.例如,如果您想查看README.txt提交的祖父母中的内容,f414f31您可以执行以下操作:

git show f414f31^^:README.txt
Run Code Online (Sandbox Code Playgroud)

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

然而,当分期更改时,人们往往更倾向于对差异感兴趣,这就是Abizern将您的问题解释为询问的问题.思考这些命令的简单方法是:

  • git diff 意思是"我还没有上演什么变化?"
  • git diff --cached 意思是"我已经上演了哪些变化?"


Abi*_*ern 6

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

我在这里写过他们的文章

但摘要图是:

在此输入图像描述