我以为两者的工作方式相同。两者都将每个文件添加到索引。但是我似乎错了。
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
也将分阶段删除。