首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >` `git add .`和` `git add -u`有什么区别?

` `git add .`和` `git add -u`有什么区别?
EN

Stack Overflow用户
提问于 2010-02-03 15:50:19
回答 3查看 32.6K关注 0票数 75

我假设两者都以相同的方式工作。两者都会将每个文件添加到索引中。但我似乎错了。

git add -u

  • 的区别是什么
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-03 15:56:59

它是mentioned here (早于Git2.0)的git陷阱之一。

git add .仅添加已存在的内容,而不添加已删除的内容(如果已跟踪)。

代码语言:javascript
复制
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 add <path>现在与"git add -A <path>“相同,因此"git add dir/”将注意到您从目录中删除的路径并记录删除。

在旧版本的Git中,"git add <path>“用于忽略删除。如果你真的想要,你可以说"git add --ignore-removal <path>“来在<path>中只添加添加或修改过的路径。

警告(git1.8.3 April 2013, for upcoming git2.0)。

我已经将我的答案从git add -u修改为git add -u .

git add -u将在Git2.0中对整个树进行操作,以与"git commit -a“和其他命令保持一致。

因为没有机制让"git add -u“表现为"git add -u .",所以对于那些习惯于"git add -u”(没有pathspec)的人来说,在Git2.0到来之前开始训练他们的手指来明确地说"git add -u .“是很重要的。

正如我在"e“中提到的那样

票数 78
EN

Stack Overflow用户

发布于 2010-02-03 15:55:02

就像手册上说的:git add .会添加当前目录中的所有文件,而git add -u .只会添加那些已经被跟踪的文件。

票数 24
EN

Stack Overflow用户

发布于 2010-02-03 15:56:47

git add documentaiton

代码语言:javascript
复制
git add . 

添加当前目录中的所有文件

代码语言:javascript
复制
git add -u 

仅更新当前正在跟踪的文件。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2190409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档