Re: Git commit won't add an untracked file given on the command line
From: Matthieu Moy <hidden>
Date: 2016-06-15 22:45:40
Francis Galiegue [off-list ref] writes:
Le Tuesday 18 November 2008 22:12:37 Mark Burton, vous avez écrit :quoted
Hi, When I try: git commit -m "New file." .gitignore Where .gitignore is not yet tracked, I get: error: pathspec '.gitignore' did not match any file(s) known to git. Is that result by design, sloth or bug (or me being stupid)?You must "git add .gitignore" first. And yes, this is by design.
If it's by design, then it's a documentation bug:
-o, --only
Make a commit only from the paths specified on the
command line, disregarding any contents that have been
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
staged so far. This is the default mode of operation of
^^^^^^^^^^^^^
git-commit if any paths are given on the command line,
We have here a case where having staged content before doing commit -o
actually changes its behavior.
Looking at the code, this happens because the "file" list is actually
a pattern list (so that you can "git commit '*.txt'" or so), and the
pattern is looked for in the index (the error is raised in
"list_paths").
You could also have done git commit -a -m "themessage".
Well, he could have done that, but then the result would have been different ;-). -- Matthieu