You are talking about two different operations. Adding _new_ files, unless you are just beginning a new project, are much more rare than updating modified files that you are already tracking; and "git add new-file..." is what people usually use for the former. "git add ." is almost always the "initial import" and not used later (after all you ought to know what files you are creating and controlling ;-)). You get into an illusion that that is often used, only when you have just started. As your project progresses, that feeling will fade away. And that is natural, if you think about it for 5 seconds. "Add everything in sight, although I do not know what they are", which is essentially what "git add ." is, makes perfect sense for the initial import and vendor drop (after perhaps rm -fr ?*). If you are doing your own development, with your working tree littered with build products and temporary notes files and whatnot, "git add ." is usually the last thing you would want to do. Updating modified files, "git add -u", is more like "git commit -a" (without creating commit). You do not add _new_ files, and that is quite deliberate. You _could_ argue that people should be more disciplined and write perfect .gitignore files so that "git add ." is always safe, but the world does not work that way. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html