为什么文件删除不是由";git add--all*";?

为什么文件删除不是由";git add--all*";?,git,file,version-control,Git,File,Version Control,当我运行git add--all*时,文件删除不会被暂存。git status的输出以红色显示标题“未提交的更改”下的删除。它只是收集新添加的内容,而不是删除我删除的内容。我该怎么办?当运行git add--all*时,命令shell将*通配符扩展到当前工作目录中的文件/目录名列表中。Git程序从未看到*;它接收一个实际的命令行,如git add--all foo.txt bar.jpg subdir 最好使用--all(或-A)标志,它告诉Git对删除的文件路径进行阶段性更改。因此,您所需要做

当我运行
git add--all*
时,文件删除不会被暂存。
git status
的输出以红色显示标题“未提交的更改”下的删除。它只是收集新添加的内容,而不是删除我删除的内容。我该怎么办?

当运行
git add--all*
时,命令shell将
*
通配符扩展到当前工作目录中的文件/目录名列表中。Git程序从未看到
*
;它接收一个实际的命令行,如
git add--all foo.txt bar.jpg subdir


最好使用
--all
(或
-A
)标志,它告诉Git对删除的文件路径进行阶段性更改。因此,您所需要做的就是运行
git add--all.
,它告诉git查看整个当前目录(以及所有递归的子项),添加创建/修改的项,并考虑索引中但工作目录中不再存在的项。

,因为在编写
*
时,shell将其扩展到当前目录中的所有文件。Git看不到
*
(它看到的是一个文件列表),也从来没有听说过您打算选择的已删除文件。谢谢!那是固定的it@Nayuki请您将该评论复制到答案中好吗?
git add
标志的有用参考: