tags:

views:

96

answers:

2

What's the difference between:

  • git add .
  • git commit -a

Should I be doing both, or is that redundant?

+9  A: 

git commit -a means almost[*] the same thing as git add -u && git commit.

It's not the same as git add . as this would add untracked files that aren't being ignored, git add -u only stages changes (including deletions) to already tracked files.

[*] There's a subtle difference if you're not at the root directory of your repository. git add -u stages updates to files in the current directory and below, it's equivalent to git add -u . whereas git commit -a stages and commits changes to all tracked files.

Charles Bailey
Great answer and ref- thanks
Yarin
A: 

git commit -a automatically invokes git add on all files it knows about. You can use git add to select what files to commit. Consult the docs for more info.

mathepic
-1 for not linking to docs.
Matt Huggins
Wait, what? The other guy didn't link to docs. I don't see him getting downvoted. Since when is there a requirement to link to docs?
mathepic