-a
中的git commit -a
是否等同于git add . -A
?
假设我有以下别名:
12 alias gita='git add . -A'
13 alias gits='clear; git status'
14 alias gitlog='git log --pretty=oneline --abbrev-commit'
15 alias commit='git commit -a '
16 alias check='gita;commit' <--------------------------
当我说check
时,当add -A
和commit -a
答案 0 :(得分:7)
git add -A
不等同于-a
中的git commit
标记。 git add -u
是。它添加了对跟踪文件(包括rms)的更改。 git add -A
还会带来未跟踪的文件。
由于git add -A
是git add -u
的超集,这就足够了,您也无需在提交中指定-a
。
此外,如果没有给出路径,则假设为。.
,因此.
也是多余的
启动git 2.0(2013年中),您需要添加路径,或者git add -A
将在完整工作树上运行。
请参阅&#34; Difference of “git add -A
” and “git add .
”&#34;。
答案 1 :(得分:5)
排序。 git add -A
将与工作树和索引匹配,添加新文件,标记已修改文件并删除已删除文件。 git commit -a
仅会暂存已添加或修改过的文件,但除非已在之前的git add
答案 2 :(得分:2)
-it在git commit -a中等同于git add。 -A?
不,不是。 git add。 -u是。
当我说检查时,当我添加-A和commit -a
时,是否发生了任何冗余
没有git commit -a只会自己添加剩余的文件。在这种情况下:无。