何时使用“git add .”当“git add -A”[重复]

Posted

技术标签:

【中文标题】何时使用“git add .”当“git add -A”[重复]【英文标题】:When to use "git add ." and when "git add -A" [duplicate] 【发布时间】:2016-11-06 23:30:49 【问题描述】:

目前,当我想提交并将内容推送到远程 Git 存储库时,我使用:

git add . //<--notice the dot here
git commit -m "some commit message"
git push

我看到很多人改用git add -A。我读到了.-A 之间的区别,但我不清楚。

那么这两个命令是一样的吗?

如果不是,什么时候应该使用git add .,什么时候应该使用git add -A

【问题讨论】:

【参考方案1】:

git add . 仅添加您当前所在的文件夹,git add -A 添加存储库中的所有文件夹。

例如,如果您的 repo 名为 foo,并且您位于文件夹 foo/bar 中,并且您更改了文件 foo/file1.plfoo/bar/file2.pl,则 git add . 只会暂存 file2.plgit add -A将暂存所有文件。

关于在哪里使用取决于您的工作方式的问题:如果您始终保持干净的仓库并且只更改应该提交的文件,那么您可以使用git add -A,否则可能更明智使用git add . 甚至手动添加文件。话虽这么说,最好总是在最后做一个git status,以确保你没有提交你不应该做的事情,因为一旦它被推送,就很难消除这些数据。

【讨论】:

对建议手动添加文件表示赞赏。它更安全,您可以掌控一切。【参考方案2】:
git add -A 

它将所有有变化的文件添加到存储库的所有文件夹中。

git add .

它添加当前文件夹中所有有变化的文件。

【讨论】:

【参考方案3】:

从 git 2.0 版开始,默认是git add -A

来自发行说明:https://git.kernel.org/cgit/git/git.git/tree/Documentation/RelNotes/2.0.0.txt

git add &lt;path&gt; 现在与git add -A &lt;path&gt; 相同,所以 git add dir/ 会注意到您从目录中删除的路径和 记录删除。在旧版本的 Git 中,使用了 git add &lt;path&gt; 忽略删除。你可以说git add --ignore-removal &lt;path&gt; 如果你真的想的话,只添加添加或修改的路径。

【讨论】:

【参考方案4】:

混帐添加。从当前目录和子目录添加更改的文件。 git add -A 从所有目录中添加更改的文件。

【讨论】:

以上是关于何时使用“git add .”当“git add -A”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

“git add -u”和“git add -A”有啥区别?

git add详解

无法使用 git add 添加文件

4、git add和git commit

为啥 git 无法识别我的文件已更改,因此 git add 不起作用

为啥有人应该在 git commit 之前使用 git add?或者为啥有人应该使用 git add 呢?