【问题标题】:Difference between $ git add --all vs $ git add *?$ git add --all 与 $ git add *? 之间的区别
【发布时间】:2016-02-14 15:04:33
【问题描述】:

当我做$ git add * 时,有时我意识到 git 不会将已删除的文件添加到阶段,我需要手动指示是否删除或添加它,但我无法弄清楚与 $ git add --all 有什么区别. 那么如果星号 () 表示'一切'(),为什么 git 不添加 all like **--all 标志'?

我检查了 git 文档 git-add 和一些 Difference between “git add -A” and “git add .”,但没有指定使用星号时的大小写。

git add * (asterisk) vs git add . (period) 中的第一个答案也表示:

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

所以这意味着 * 和 --all 相同?

谢谢

【问题讨论】:

  • * 被 shell 扩展为当前目录中的所有名称。 Git 不关心*,因为它从来没有看到星号,只有名字。

标签: git


【解决方案1】:

区别在于:

  • git add -A 添加所有内容 from the top git repo folder.
    它在整个工作树上运行,而不仅仅是在当前路径上。
  • git add * 添加 current 文件夹中的文件(由 shell 扩展without dotfiles)。
    它从当前路径开始运行。

【讨论】:

    猜你喜欢
    • 2014-05-25
    • 2010-10-09
    • 2018-07-09
    • 2020-02-13
    • 1970-01-01
    相关资源
    最近更新 更多