为了账号安全,请及时绑定邮箱和手机立即绑定

git add。和git add -u有什么区别?

git add。和git add -u有什么区别?

Git
慕雪6442864 2019-12-26 13:53:44
我以为两者的工作方式相同。两者都将每个文件添加到索引。但是我似乎错了。git add .和之间有什么区别git add -u?
查看完整描述

3 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

这是这里提到的git陷阱之一(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是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 ”中提到的


查看完整回答
反对 回复 2019-12-26
?
冉冉说

TA贡献1877条经验 获得超1个赞

如手册所述:git add .将所有文件添加到当前目录中,而git add -u .仅添加已被跟踪的文件。


查看完整回答
反对 回复 2019-12-26
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

git添加文档


git add . 

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


git add -u 

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


查看完整回答
反对 回复 2019-12-26
  • 3 回答
  • 0 关注
  • 947 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信