edit: it's infuriating that yc won't let me reply to you, so I have to reply in this edit. Anyway.
"git commit" says to git: "move anything in the index (i.e. things which I have 'git add'ed, or which have been merged) into the local repository".
"git add FILE && git commit" says "put FILE in the index and then commit the whole index to the local repository"
"git commit FILE" says "assume the index is clear, and only commit FILE" to which git says the logical response, "sorry, dude, the index isn't clear, I can't do that"
perhaps this will help: http://osteele.com/archives/2008/05/commit-policies