What is the effect of git commit without the -a op

2019-02-04 05:52发布

问题:

What is the difference between these two commands?

git commit -m "added a new page"

and

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

I know that the -a option will stage files that have been modified and deleted, but then what does running it without the -a mean?

回答1:

You have to explicitly stage changes for commitment by using git add or git rm.

If you use the -a flag when doing a commit, git will automatically stage any modified and removed files without you having to explicitly stage them using add or rm, etc.

If you don't specify -a, any files that have been modified or removed, but not explicitly staged using git add or git rm will be ignored in the commit.

update

As Dr. Gianluigi Zane Zanettini says - -a does not add new files to the index, so if you have completely new files you shouldn't expect -a to ad them.

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



标签: git commit