任何人都可以告诉我,为什么git add
-A //higher case
--all
--no-ignore-removal
和git commit
-a //lower case
--all
不同?
修改
这就是我所说的。
&安培;
答案 0 :(得分:1)
那些-a
适用于两种不同的情况:
git commit -a
执行git add -u
(更新)。git add -A
执行git add
+ a git add -u
。这意味着:
commit -a
提交已对索引执行的每个添加/删除,并忽略工作树的新文件。add -A
为索引添加了所有内容
它是关于使用工作树更新索引。 git add --all
于2008年7月在commit 3ba1f11中引入(git 1.6.0)。
评论是:
人们有时会发现"
git add -u && git add .
"是13次击键太多了 这减少了9点。对于现有用户期望允许"
git commit -a
"这将是一个太大的改变。要包含未跟踪的文件,如果我们将这个新选项命名为"-a
",那么它就会不一致,所以短选项是"-A
&#34;。<登记/> 我们可能想要稍后添加&#34;git commit -A
&#34;但这是一个单独的主题。
git commit --all
记录在commit 130fcca(2006年2月,git 1.2.0)
&#34;
git commit --all
&#34;可以从子目录运行,但它使用所有已修改的文件更新索引并执行整个树提交。
所以git commit -a
在 git add -A
之前被引入,并且不包含新文件。
因此存在差异:
-A
可提醒--all
git add
与--all
的{{1}}