git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Why doesn't git commit -a track new files

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 24, 2011, 17:27 UTC
Message-ID
<7v7hcp2vi6.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20110224112246.3f811ac2@glyph>
Marco <netuse@lavabit.com> writes:
Show 8 quoted lines
> I'm new to git and a bit confused about how some commands work.
>
> git add .                    -- Adds everything *but* deleted files
> git add -A                   -- Adds everything
> git commit -a -m "whatever"  -- Commits everything *but* new files
>
> I don't understand why there's not switch (is there?) for commit to commit new
> and deleted files, like -A for git add?

Historical accident. In the early days of git, there was no .gitignore mechanism, so a mode that operates on everything under the working tree was almost always an undesired thing to have (think *.o files).

Then .gitignore mechanism came, and "add ." has become usable. But "commit -a" has been widely used way before that.

If you look at "commit -a" within that context, you would understand why it should only look at the paths git knows about.

Of course, "add -A" is a much later invention. The option was named "-A" with capital letter, even though there is no "add -a".

This was because I knew we would eventually want to have "commit -A" that grabs everything and new files (honoring the gitignore mechanism), and aimed for consistency between "add -A" that I was adding, and "commit -A" that was yet to be written. See 3ba1f11 (git-add --all: add all files, 2008-07-19).

I think it now is sensible to add "commit -A" if somebody is inclined to do so. Nobody felt the need for it strongly enough to do so, it seems.

Previous: Marc WeberNext: Marco
Message 22 of 25 in “Why doesn't git commit -a track new files”
  1. MarcoFeb 24, 2011
  2. Ævar Arnfjörð BjarmasonFeb 24, 2011
  3. Pascal ObryFeb 24, 2011
  4. MarcoFeb 24, 2011
  5. Michael J GruberFeb 24, 2011
  6. Jeff KingFeb 24, 2011
  7. Michael J GruberFeb 24, 2011
  8. Jeff KingFeb 24, 2011
  9. Michael J GruberFeb 24, 2011
  10. Jeff KingFeb 24, 2011
  11. Michael J GruberFeb 25, 2011
  12. Jeff KingFeb 25, 2011
  13. Michael J GruberFeb 25, 2011
  14. Jeff KingFeb 25, 2011
  15. Matthieu MoyFeb 24, 2011
  16. Michael J GruberFeb 24, 2011
  17. MarcoFeb 24, 2011
  18. Miles BaderFeb 25, 2011
  19. Michael J GruberFeb 25, 2011
  20. Miles BaderFeb 26, 2011
  21. Marc WeberFeb 24, 2011
  22. Junio C HamanoFeb 24, 2011
  23. MarcoFeb 24, 2011
  24. Michael J GruberFeb 25, 2011
  25. Junio C HamanoFeb 25, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.