执行git添加的含义。什么时候git add-u就足够了?

执行git添加的含义。什么时候git add-u就足够了?,git,Git,(使用Git 2.7.2) 如果我在一天的工作之后更新了一些我想要提交的跟踪文件,那么适当的暂存命令应该是git add-u。对吗?但是习惯性地使用git add.,只是为了掩盖我可能添加了一个新文件并且不想忘记开始跟踪它的可能性,会有什么后果呢?总是做git-add.有什么缺点吗?我会夸大回购规模还是“污染数据库”,等等 git add。将在当前目录和子目录中搜索可添加的文件,然后添加它们 自git 2.0版以来,git add-u(无路径规范)将梳理索引以查找要添加的文件,其中包括上方的目录

(使用Git 2.7.2)
如果我在一天的工作之后更新了一些我想要提交的跟踪文件,那么适当的暂存命令应该是
git add-u
。对吗?但是习惯性地使用
git add.
,只是为了掩盖我可能添加了一个新文件并且不想忘记开始跟踪它的可能性,会有什么后果呢?总是做
git-add.
有什么缺点吗?我会夸大回购规模还是“污染数据库”,等等

git add。
将在当前目录和子目录中搜索可添加的文件,然后添加它们

自git 2.0版以来,
git add-u
(无路径规范)将梳理索引以查找要添加的文件,其中包括
上方的目录(如果您位于存储库的子目录中)。(在2.0之前的git版本中,
git add-u
在末尾有一个隐含的
,因此它不会查看
上面的目录)

您已经注意到,
git add.
将添加
git add-u
不会添加的新文件。
从当前目录(可能不是顶层)开始这一事实是这里唯一的其他真正区别。(如果您有一个非常大的工作树,您可能会看到由于不同的搜索策略,与CPU时间/磁盘活动相关的一些差异。)

请注意,下一次
git提交时进入存储库的内容是由索引(暂存区)内容决定的,您可以随时检查(例如,使用
git status
git ls文件
)。在大多数情况下,您实际上不需要担心存储库膨胀。(一种情况是,如果
git add.
添加了一个巨大的文件,例如一个巨大的二进制文件或数据库,然后
git rm--cached
并添加到
.gitignore
文件中。这是因为
git add
步骤实际上是将底层blob对象写入存储库的。但是,如果blob在
git rm--cached
之后未被引用,那么它将在
gc.prueexpire
时间之后的下一次垃圾收集中消失,在这种情况下,默认为14天。)