git添加 vs git commit -a


Answers:


139

git commit -a表示与[]几乎相同git add -u && git commit

这与git add .添加不会被忽略的未跟踪文件不同,git add -u只是将已更改的文件(包括删除)分阶段更改(已删除)。

[*]如果您不在存储库的根目录下,则会有细微的差别。git add -u阶段更新的文件在当前目录及以下,这相当于git add -u .git commit -a阶段,并提交更改所有跟踪文件。


3
为了保持一致,[*]中的行为将在git 2.0中更改。
user1284631 2013年

2
朝哪个方向?即提交-a会变得像添加-u,还是会添加-u像提交-a一样?
Miles Rout

5
@MilesRout:git add -u将变得像git commit -a; 您需要明确地说出git add -u .您的意思。
CB Bailey


13

git commit -a自动调用git add它知道的所有文件。您可以git add用来选择要提交的文件。咨询文档以获取更多信息:此处


11
它所知道的所有文件对我来说都是不清楚的,尤其是因为据称未添加这些文件
Nikana Reklawyks,2012年

1
@alternative,如果您添加“它知道的所有文件”的说明,此答案仍然可以做得更好.....
Pacerier 2015年

2
@Pacerier相当于git add -u
替代

2
@ Z.Khullah,所以“所有(...)”表示“跟踪的文件”吗?
TheFrost

1
正是@TheFrost!
Z. Khullah

1

通过使用git commit -a和commit命令的开关,可以自动“添加”所有已知文件(即索引中已列出的所有文件)的更改

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.