为什么all-Flag for add和commit的情况有所不同?

时间:2014-07-15 13:26:40

标签: git arguments

任何人都可以告诉我,为什么git add

的所有标记快捷方式的大小写
-A           //higher case
--all  
--no-ignore-removal

git commit

-a           //lower case
--all 

不同?

修改
这就是我所说的。 enter image description here

&安培;

enter image description here

1 个答案:

答案 0 :(得分:1)

那些-a适用于两种不同的情况:

这意味着:

  • a commit -a提交已对索引执行的每个添加/删除,并忽略工作树的新文件。
    它只是只读取索引,而不是工作树
  • add -A为索引添加了所有内容 它是关于使用工作树更新索引

git add --all于2008年7月在commit 3ba1f11中引入(git 1.6.0)。

评论是:

  

人们有时会发现" git add -u && git add ."是13次击键太多了   这减少了9点。

     

对于现有用户期望允许&#34; git commit -a&#34;这将是一个太大的改变。要包含未跟踪的文件,如果我们将这个新选项命名为&#34; -a&#34;,那么它就会不一致,所以短选项是&#34; -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 -agit add -A之前被引入,并且不包含新文件。
因此存在差异:

-A可提醒--all git add--all的{​​{1}}