git-diff没有显示任何内容
在我做了一个git-diff没有显示任何内容,git,git-diff,git-stash,Git,Git Diff,Git Stash,在我做了一个git重置--hard HEAD之后,我做了一个git status并且一切都是干净的。然后,我执行一个git checkout stash@{0}--pom.xml以获取存储中的pom.xml文件。当我执行git status时,它会显示modified:pom.xml。当我执行一个git diff时,它什么也不显示。为什么?因为git在登台步骤中添加了更改 您可以恢复阶段性更改: git restore --staged pom.xml git diff 这是一个问题:(1)g
git重置--hard HEAD
之后,我做了一个git status
并且一切都是干净的。然后,我执行一个git checkout stash@{0}--pom.xml
以获取存储中的pom.xml文件。当我执行git status
时,它会显示modified:pom.xml
。当我执行一个git diff时,它什么也不显示。为什么?因为git在登台步骤中添加了更改
您可以恢复阶段性更改:
git restore --staged pom.xml
git diff
这是一个问题:(1)git diff是什么意思,以及(2)什么是隐藏。用一点(3)git status告诉你的,扔进去
让我们从第二个开始。一个隐藏是两个提交,一个表示索引,另一个表示工作树。因此,从存储中检出文件会影响索引和工作树
那么现在git diff
plain and simple(无修改器)询问:工作树与索引有何不同。在这方面,它没有区别,因此没有显示输出。在索引树和工作树中,这个文件的修改版本都是相同的,这很好——如果您想这样做的话,您已经准备好提交了。如果您的问题是索引与头部的差异,那么您应该询问git diff--staged
最后,git status
与simplegit diff
不同,它执行两个比较:它将工作树与索引进行比较,告诉您哪些修改添加到了索引中,哪些没有添加到索引中;它将索引与HEAD进行比较,告诉您现在进行提交会做什么
所以总数是这样的:
HEAD index working tree
-----------------------------
old new new
这就是您对Git提出的问题的回答所反映的情况(Git diff
和Git status
)
换句话说:
git status
告诉你的是你通过询问git diff--staged
和git diff
可以学到的东西。但是你从来没有问过git diff--staged,所以你看不到答案的那一部分。因为你的更改已经staged了。检查git diff--staged
请单击并显示git status
的确切输出?