Git:如何查看文件的旧版本(在将其添加到暂存区/索引之前)?

标签 git

假设我更改了文件 foo.txt 并运行 git add foo.txt。现在 foo.txt 出现在“待提交的更改”列表中。

现在我想查看我的 foo.txt 这些更改之前。我怎样才能用 git 做到这一点?

最佳答案

您可以执行以下操作:

git show HEAD:foo.txt

一般来说,这种语法对于在不触及工作树的情况下查看来自特定提交的文件非常有用。例如,如果你想查看 README.txt 在提交 f414f31 的祖 parent 中是什么样的,你可以这样做:

git show f414f31^^:README.txt

更新:VonC下面的评论,这里需要注意的是,这里的路径必须是从工作树的根开始的完整路径,即使你当前在子目录中也是如此。

然而,当分期发生变化时,人们往往更倾向于对差异感兴趣,这就是 Abizern interpreted your question as asking about .考虑这些命令的一种简单方法是:

  • git diff 意思是“我还没有进行哪些更改?”
  • git diff --cached 意思是“我已经进行了哪些更改?”

关于Git:如何查看文件的旧版本(在将其添加到暂存区/索引之前)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7461945/

相关文章:

github:将提交添加到现有的 pull 请求

git - git config别名中的感叹号是什么意思?

git - 在第一次推送之前检查 git remote 是否存在

git - 重命名仓库并推送新代码

git - 如何检查远程 git 存储库是否处于特定版本?

ruby-on-rails - 我正在尝试使用 Ansible 编写部署规则以克隆存储库

java - Gradle 子项目设置、git 子模块

git - 更改后指定 Git Rename

git - 由 'recursive' 策略进行的 merge

bash - 统计git项目中所有文件的所有修订