我以为两者的工作方式相同。两者都将每个文件添加到索引。但是我似乎错了。
git add .和之间有什么区别git add -u?
Answers:
git add . 仅添加其中的内容,不添加已删除的内容(如果已跟踪)。
git add .
git commit
git status
//hey! why didn't it commit my deletes?, Oh yeah, silly me
git add -u .
git commit --amend
git add -A 将照顾两个步骤...
对于Git 2.0,它git add -A是default。
git add <path>git add -A <path>现在与“ ”相同,因此“git add dir/”将注意到您从目录中删除的路径并记录该删除。
在旧版Git中,“git add <path>”用于忽略删除。如果确实要,您可以说“
git add --ignore-removal <path>”以仅在中添加添加或修改的路径<path>。
警告(2013年4月git1.8.3,即将发布的git2.0)。
我修改了答案git add -u .,而不是git add -u。:
git add -u将在Git 2.0中对整个树进行操作,以与“git commit -a”和其他命令保持一致。
因为没有机制使“git add -u”行为像“git add -u .”,对于那些习惯git add -u(没有pathspec)仅更新当前子目录中路径的索引的人来说,重要的是要开始训练他们的手指明确地说“git add -u .”当他们在Git 2.0出现之前就知道了。
正如我在“ e ”中提到的
.(pathspec)与Git 2.x一起使用。它可以在我测试时找到。
就像手册中所说:git add .将所有文件添加到当前目录中,而git add -u .只会添加已经被跟踪的文件。
add -u也将分阶段删除。