git显示`add -u`后没有变化

时间:2018-02-18 20:28:59

标签: git

Git表明,有些修改后的文件没有为提交做好准备,但在执行完:git add -u后,git status不再显示这些文件中的任何更改。可能有什么不对?

2 个答案:

答案 0 :(得分:1)

由于git add -u仅添加已修改/已删除的文件,请检查git status列出这些文件的方式。

如果它们未跟踪,则不会git add -ugit add添加它们。

答案 1 :(得分:0)

您很可能在工作区中进行了更改。

例如:

$ echo A >foo.txt
$ git commit -a -m "some commit"
[master 74c7015] some commit
 1 file changed, 1 insertion(+), 1 deletion(-)

此时,使用包含" A"的foo.txt创建提交。

$ echo B >foo.txt 
$ git add foo.txt

现在,索引有内容" B" foo.txt

$ echo A >foo.txt 

现在,工作区有内容" A"再次为foo.txt,但索引仍然有" B":

$ 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 -u,则索引将使用工作树的内容进行更新,即&#34; A&#34; foo.txt的{​​{1}},与HEAD中的内容匹配:

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