git显示在执行'add-u'之后没有任何更改`

git显示在执行'add-u'之后没有任何更改`,git,Git,Git显示有一些修改过的文件没有准备提交,但在执行后:Git add-u,Git status不再显示这些文件中的任何更改。可能有什么问题?由于git add-u只添加修改/删除的文件,请检查这些文件是如何按git状态列出的 如果未跟踪它们,它们将不会被添加到git add-u,只有git add最有可能是您在工作树中恢复了更改 例如: $ echo A >foo.txt $ git commit -a -m "some commit" [master 74c7015] some comm

Git显示有一些修改过的文件没有准备提交,但在执行后:
Git add-u
Git status
不再显示这些文件中的任何更改。可能有什么问题?

由于git add-u只添加修改/删除的文件,请检查这些文件是如何按git状态列出的


如果未跟踪它们,它们将不会被添加到
git add-u
,只有
git add

最有可能是您在工作树中恢复了更改

例如:

$ echo A >foo.txt
$ git commit -a -m "some commit"
[master 74c7015] some commit
 1 file changed, 1 insertion(+), 1 deletion(-)
此时,使用包含“a”的
foo.txt
创建提交

现在,索引中有
foo.txt
的内容“B”

$ echo A >foo.txt 
现在,对于
foo.txt
,工作树又有了内容“A”,但索引仍然有“B”:


请添加终端窗口命令和结果。“不再显示这些文件中的任何更改”。。您是在谈论git diff的输出吗?git status不显示添加到工作树中的文件它们被跟踪了。如果文件中确实没有修改,那么
git add-u
就知道了,因此它停止显示了吗?@captainjackparrow是的,这取决于diff的性质:git diff返回什么?它们可能是子模块的一部分。
$ echo A >foo.txt 
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   foo.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   foo.txt
$ git add -uv
add 'foo.txt'
$ git status
On branch master
nothing to commit, working directory clean