What does the 'git add .' ('git add' single dot) command do?

git add . adds all modified and new (untracked) files in the current directory and all subdirectories to the staging area (a.k.a. the index), thus preparing them to be included in the next git commit.

Any files matching the patterns in the .gitignore file will be ignored by git add.

If you want to skip the git add . step you can just add the -a flag to git commit (though that will include all modified files, not just in the current and subdirectories).

Note that git add . will not do anything about deleted files. To include deletions in the index (and the comming commit) you need to do git add -A


git add . adds / stages all of the files in the current directory. This is for convenience, and can still be used if you have certain files you don't want to add by using a .gitignore

A tutorial for .gitignore is located here.

A deeper look into git add . vs git add -A vs. git add -u is located here and it might answer your question if you wanted more control of how you add all of the files / wanted to know how git add . works.