这两个命令有什么区别?
git commit -m "added a new page"
和
git commit -a -m "added a new page"
我知道使用 -a 选项可以将已修改和删除的文件暂存,那么不带 -a 运行它又有什么意义呢?
你需要使用 git add
或 git rm
明确地暂存更改以提交。
如果在提交时使用 -a
标志,git 将自动暂存任何已修改和已删除的文件,无需使用 add
或 rm
等明确地暂存它们。
如果 没有 指定 -a
,则已修改或已删除但未使用 git add
或 git rm
明确暂存的任何文件都将被忽略在此次提交中。
更新
正如 Gianluigi Zane Zanettini 博士所说,-a
不会将新文件添加到索引中,因此如果有全新的文件,不应该指望 -a
会将它们添加进来。
http://www.kernel.org/pub/software/scm/git/docs/git-commit.html
-a
只适用于修改/删除文件。根据 Git 文档,新文件不受影响:but new files you have not told Git about are not affected.
=> 几乎总是更好的做法是使用git add .
而不是git commit -a
。 - Dr. Gianluigi Zane Zanettini