不使用-a选项的git commit有什么影响?

33

这两个命令有什么区别?

git commit -m "added a new page"

git commit -a -m "added a new page"

我知道使用 -a 选项可以将已修改和删除的文件暂存,那么不带 -a 运行它又有什么意义呢?

1个回答

49

你需要使用 git addgit rm 明确地暂存更改以提交。

如果在提交时使用 -a 标志,git 将自动暂存任何已修改和已删除的文件,无需使用 addrm 等明确地暂存它们。

如果 没有 指定 -a,则已修改或已删除但未使用 git addgit rm 明确暂存的任何文件都将被忽略在此次提交中。

更新

正如 Gianluigi Zane Zanettini 博士所说,-a 不会将新文件添加到索引中,因此如果有全新的文件,不应该指望 -a 会将它们添加进来。

http://www.kernel.org/pub/software/scm/git/docs/git-commit.html


7
一个小提示:-a 只适用于修改/删除文件。根据 Git 文档,新文件不受影响:but new files you have not told Git about are not affected. => 几乎总是更好的做法是使用 git add . 而不是 git commit -a - Dr. Gianluigi Zane Zanettini
Gianluigi,谢谢,但它没有提供任何新信息,John已经用“显式添加gid”说过了。另外一个更值得一提的事情是:也可以使用git commit -am。 - Timo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接