Git Protocol

I don't think we should be explicitly advising people to `git add --all` or `git add .`. I think in almost all cases we should `git add -p` (`git add --patch`). Interactive staging prevents a lot of accidental commits and helps maintain more logical commits.

For new files that are not in git's index yet, you can do `git add -N .`. That tells git that you have an intent to add all files (including new files). Then, you `git add -p` with new files.