You do:
git commit -m "wip"
Then, if you wish to undo the commit then:
git reset HEAD
If instead you want to update your commit with additional changes:
git commit --amend
Seriously, why are you guys advocating for replacing a tool when the problems you're actually experiencing are due to your inabilility to learn the basics of it? I mean, is jj edit any better than git commit --amend ? Does git commit --amend require more cognitive load to understand?
What you really want to do is
git commit -anm "wip"
The -a is important because maybe you haven't staged the changes yet. The -n is important because otherwise your pre-commit hooks will run, and potentially modify your commit.
Also, what happens if some of the files were partially staged?
No. I only need to run hit commit. The rest is just silly attempts to nitpick your way to faking complexity where there is none. You don't need to pass --all because you should know and tell what changes go into the commit. You don't need or care to skip precommit hooks, because either you don't have any or you have them and you want to run them. That's it.
Also, even your attempt to make a mountain out of a molehill ends up with a easier, smaller command line entry.
Your examples are laughable because most serious commands are way more complicated than that and again jj fixes that gracefully.
Again, please point out your best example that you believe proves your point.
All I see so far is shit-talking Git with abstract unsubstantiated complains to then hand-wave an alternative as the savior.
Point exactly where Git fails and what value is brought to the picture by any other alternative. Clearly Git's backend is not a issue by the way jj reuses it. So what exactly are these problems that are worth solving?
https://ohshitgit.com/ has plenty of exmaples that you're free to disregard as being shit-talking. Meanwhile, the rest of us can admit that git has some rough edges, like how git checkout does a couple of different things, depending on the flags you pass it. That's not user friendly.
That's not a credible explanation. Amending a commit is somehow unintuitive and inconvenient but editing a commit is suddenly so much clearer and intuitive?
I can either stash my changes, which requires keeping a mental model of the stash queue (what if the review comments took a while and I started working on something else?) or a "wip commit", which you need to know, and you need to know how to reset and force push if you accidentally push it.
With jj, you run `jj edit`.