git add :/
选项。根据git-add
的文档,最后一个参数是pathspec。它的定义在gitglossary
的文档中。让我引用相关部分(我将重要的句子放在了粗体中):
以冒号:开头的路径规范具有特殊含义。在短格式中,前导冒号:后跟零个或多个“魔法签名”字母(可选择由另一个冒号:结束),其余部分是与路径匹配的模式。如果模式以不能成为“魔术签名”的字符并且不是冒号的字符开头,则可以省略终止“魔术签名”的可选冒号。
在长格式中,前导冒号:后跟开括号(、逗号分隔的零个或多个“魔法词”和闭括号),其余部分是要与路径匹配的模式。
“魔法签名”由一个非字母数字的ASCII符号组成。
顶层 /
魔法词top(记忆:/)使模式从工作树的根匹配,即使您是在子目录中运行该命令也是如此。
当前只有斜杠/被认为是“魔法签名”,但预计我们将在后续版本的git中支持更多类型的魔法。
您可以看到,如果pathspec以:/
或:(top)
开头,则该部分定义为工作树的根。
git add :/
会将工作树中的所有文件都添加到stage中。
git-add
的文档(至少你提供的那个)似乎没有在任何地方提到 pathspec。我已经为您修复了它。 - Amelio Vazquez-Reinagit-add(1)
链接是不同版本的。在我的机器上,我有 Git-1.8.3 及其文档页面,它确实提到了 pathspec。旧版本则提到了 filepattern。 - lrineau:
字符是路径规范语法的一部分。man gitglossary
或访问 this web page 获得。:
开头的路径规范有特殊意义。在短格式中,前导冒号:
后跟零个或多个“魔法签名”字母(可选择由另一个冒号:终止),其余部分为要与路径匹配的模式。如果模式以不能是“魔法签名”的字符开头且不是冒号,则可以省略终止“魔法签名”的可选冒号。top /
top
(助记符:/
)使模式从工作树的根处匹配,即使您正在从子目录中运行命令也是如此。:/
指当前工作树的根目录。git add
接受路径说明符,而不是引用说明符。 :/
语法闻起来像是针对旧的 git add
行为的事后解决方法:请参见 https://dev59.com/wWEh5IYBdhLWcg3w12il#21954767 - torek
:
它指的是存储库的根目录,但我在文档中没有找到相关内容。 - Keith Thompson