2012-01-14 138 views
8

-a in git commit -a等同於git add . -AGit,添加更改提交,添加和提交標記之間的區別

假設我有以下別名:

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 -Acommit -a

回答

7

git add -A不等同於git commit中的-a標誌。 git add -u是。它添加了對跟蹤文件(包括rms)的更改。 git add -A也會引入未跟蹤的文件。

由於git add -Agit add -u的超集,這已經足夠,您也不需要在提交中指定-a

另外,如果未給出路徑,則假定爲.,因此.也是多餘的以及。

啓動git 2.0(2013年中),您需要添加路徑,否則git add -A將在完整工作樹上運行。

請參閱「Difference of 「git add -A」 and 「git add .」。

2

是-A的git的承諾-a相當於git add。 -一個?

不,它不是。 git add。 -u是。

當我說的檢查,沒有任何冗餘發生的事情時,我都加-A並提交-a

沒有git的承諾-a將僅僅通過自身添加剩餘的文件。在這種情況下:無。

5

排序git add -A將匹配工作樹和索引,添加新文件,標記修改的文件和刪除已刪除的文件。 git commit -a將僅播放已添加或修改的文件,但除非在之前已指定的文件中不會添加新文件git add