如果我取消添加到现有目录的新文件,那么它将被正确取消暂存。但是,如果我创建一个新目录,在该新目录中创建并添加一个新文件,然后尝试取消它,那么只有该目录是未分级的,新文件才会完全消失。
$ git status
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: src/main/resources/existingdir/newFileInExistingDir.json
new file: src/main/resources/newdir/newFileInNewDir.json
$ git rm --cached src/main/resources/existingdir/newFileInExistingDir.json
$ git rm --cached src/main/resources/newdir/newFileInNewDir.json
$ git status
Untracked files:
src/main/resources/schemas/newdir/
src/test/resources/existingdir/newFileInExistingDir.json
无论是使用git rm --uncached
还是git reset HEAD
如何取消暂存在新目录中创建的新文件?
答案 0 :(得分:4)
您正在观察的行为对Git来说是正常的:如果在某个目录中没有跟踪任何内容,则整个目录显示为未跟踪,而不是将该目录中包含的每个文件列为未跟踪。
关于你的问题:
如何取消暂存在新目录中创建的新文件?
你已经做了所有必要的事情,你想要实现的目标实际上已经完成了。