为何 git commit 之后再执行 git diff --cached 仍然显示有不同?

请问为什么我执行git commit之后再执行git diff --cached仍然显示有不同?

我的理解是git commit把暂存区域的内容提交到本地库,这样的话​git diff --cached就不会显示任何内容啊.

请问我的理解哪里出了问题,先谢谢了!

阅读 8.7k
2 个回答

抱歉步骤没有描述详细,我本来以为是我的这两个命令理解有问题,所以只写了这两个步骤. 问题出在git commit的时候需要填写的描述信息我在vim直接:wq跳过了,没有commit成功 输出的

Aborting commit due to empty commit message

这条信息当时没有看到 commit的时候注意commit不要为空就好了

git diff --cached #查看已缓存的改动

git diff --cached 命令会告诉你有哪些内容已经写入缓存了。 也就是说,此命令显示的是接下来要写入快照的内容。

git diff HEAD 查看已缓存的与未缓存的所有改动

如果你想一并查看已缓存的与未缓存的改动,可以执行 git diff HEAD —— 也就是说你要看到的是工作目录与上一次提交的更新的区别,无视缓存

在我的个人博客中收录了一个git的简明参考手册,这个手册足以应付日常工作中所要使用的git命令,有兴趣的可以阅读下,随时查阅: git的简明参考手册

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进