-A
- 所有
--no-忽略去除不仅更新索引,而且工作树的文件匹配
<pathspec>
,而且索引已经存在 条目。这会添加,修改和删除索引条目以匹配 工作树。如果在使用-A选项时没有给出
<pathspec>
,则表示所有文件 整个工作树都更新了(旧版本的Git用来限制 更新到当前目录及其子目录。)
我理解这意味着当我运行git add -A subdirectory
时,该git实际上是这样做的:
$ git update-index --again
$ git add subdirectory
但是,在本地虚拟git存储库中进行简单测试后,它不会更新<pathspec>
之外但已经暂存的文件。事实上,无论有没有-A
选项,我都无法找到行为上的任何差异。
任何人都可以解释-A
的{{1}}选项的行为(git文档的解释总是有点难以接受)?
答案 0 :(得分:3)
--no-ignore-removal
是一个线索。这意味着如果文件不出现在您的工作树中,但 出现在索引中 - 例如如果您rm
编辑了git rm
但未编辑git rm
,那么它将从索引中删除(就像您PosPanel
编辑它一样。)