git add.vs git commit -a

Yar*_*rin 96 git version-control git-add git-commit git-commands

有什么区别:

  • git add .
  • git commit -a

我应该做两件事,还是多余的?

CB *_*ley 128

git commit -a意味着几乎[*]同样的东西git add -u && git commit.

这与git add .添加未被忽略的未跟踪文件不同,git add -u只是对已经跟踪的文件进行更改(包括删除).

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

  • @MilesRout:`git add -u`将变得像`git commit -a`; 如果这就是你的意思,你需要明确地说'git add -u .`. (4认同)
  • 为了一致性,[*]中的行为将在git 2.0中发生变化. (3认同)
  • 在哪个方向?即将提交-a变得像添加-u,或将添加-u变得像提交-a? (2认同)

alt*_*ive 13

git commit -a自动调用git add它知道的所有文件.您可以使用git add选择要提交的文件.有关详细信息,请参阅文档:此处

  • *它所知道的所有文件*对我来说都很不清楚,特别是因为那些据说没有被添加 (9认同)
  • @Pacerier相当于`git add -u` (2认同)
  • @ Z.Khullah,所以“所有(...)”表示“跟踪的文件”吗? (2认同)