`git add .`和`git add -u`有什么区别?
我假设两者都以相同的方式工作。 都将每个文件添加到索引。 但我似乎错了。
-
git add .
什么区别git add .
和git add -u
?
这是在这里提到的git gotcha(git 2.0之前)之一。
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
是默认的 。
git add <path>
现在与“git add -A <path>
”相同,所以“git add dir/
”会注意到你从目录中删除的path并logging下去。
在旧版本的Git中,用于忽略删除的“git add <path>
”。如果你真的想,你可以说“
git add --ignore-removal <path>
”在git add --ignore-removal <path>
中添加只添加或修改的path。
警告( git1.8.3 2013年4月,为即将到来的git2.0 )。
我已经修改我的答案说git add -u .
,而不是git add -u
git add -u
将在Git 2.0中的整个树上运行,以便与“git commit -a
”和其他命令保持一致。
因为没有使“git add -u
”performance为“git add -u .
”的机制,所以对于习惯于“git add -u
”(没有pathspec)的用户来说,当前的子目录开始训练他们的手指明确地说“git add -u .
”时,他们的意思是在Git 2.0之前。
正如我在“ e ”
像手册说: git add .
将添加当前目录中的所有文件,而git add -u .
只会添加已经被追踪的人。
git添加文档
git add .
添加当前目录中的所有文件
git add -u
只更新当前正在跟踪的文件。