$ git add --all 和 $ git add * 有什么区别?

6
当我执行$ git add *时,有时我会意识到git没有将已删除的文件添加到暂存区,我需要手动指示是删除还是添加它,但我无法弄清楚$ git add --all有什么不同。因此,如果星号( )表示“所有内容”,为什么Git不像** - all标志'一样添加所有内容?
我查看了git文档git-add和一些“git add -A”和“git add .”之间的区别,但没有说明使用星号的情况。
此外,git add *(星号)vs git add .(周期)中的第一个答案表明:

add * 表示添加当前目录中除以点开头的文件之外的所有文件。实际上,这是您的shell功能,Git只接收文件列表。

所以这意味着*和--all是相同的吗?
谢谢

* 会被 shell 展开为当前目录中的所有名称。Git 不关心 *,因为它从未看到过星号,只看到了名称。 - msw
1个回答

9

区别在于:

  • git add -A 添加 从顶层git仓库文件夹 开始的所有内容。
    它作用于 整个 工作树,而不仅仅是当前路径。
  • git add * 添加来自 当前 文件夹的文件(通过shell扩展, 不包括点文件)。
    它从当前路径开始操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接