Is there a way to craft a commit that adds or removes files without reading or writing to the staging area?
Note that you can for tracked files: git commit
supports the same functionality as git add
:
git commit --patch tracked.txt
Except if that involves adding or removing files – this doesn't work (yet):
git commit --add new.txt --rm old.txt
I would like to just never use the staging area at all.
The problem with the staging area is that lots of commands change it implicitly, it makes committing stateful and it's invisible in the diff. It trips me up more than I like, and I have no use for it (a commit stack is a much better superset of a staging area).