Git表明,有些修改后的文件没有为提交做好准备,但在执行完:git add -u
后,git status
不再显示这些文件中的任何更改。可能有什么不对?
答案 0 :(得分:1)
由于git add -u
仅添加已修改/已删除的文件,请检查git status列出这些文件的方式。
如果它们未跟踪,则不会git add -u
仅git 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