我一直在使用前者git add -a
。
鉴于我们主要在区分大小写的上下文中使用 git(Linux 或 Cygwin),我很惊讶我已经摆脱了它,正如我从帮助中读到的:
$ git add -h
usage: git add [<options>] [--] <pathspec>
...
-A, --all add changes from all tracked and untracked files
... 这是假设小写字母“a”代表“--all”之类的意思吗?还是说它在大小写方面过于宽容了?
或者完全是别的什么?
答案1
都不是;选项 (一个破折号的小写a
) 根本不存在。
$ git --version
git version 2.23.0
$ git add -a
error: unknown switch `a'
usage: git add [<options>] [--] <pathspec>...
但是,如果你使用带有二破折号,任何明确的前缀都将自动扩展为完整选项,这是标准 GNU getopt() 行为。例如,所有这些命令实际上都指定了相同的--all
选项:
git add --a
git add --al
git add --all
(类似地,即使它们不作为独立选项存在,--v
或--verb
也会自动扩展为。但是,会抱怨匹配不明确。)--verbose
--ignore
还有,其基本相当于提交之前。git commit -a
git add --update