Comment by wruza

2 days ago

This should be a built-in

  git unshit

Or

  git add --unshit -f ~HEAD^^

If you’re using git version <= 2.844.

Jujutsu has `jj undo`, but which undoes whatever was your last jj command, regardless of what it was. It makes much more confident to do an operation I'm uncertain of. And if I regret something many actions down the line, you have `jj op log` (a better reflog).

  • Such a simple operation, but it'd probably fix 95% of problems I've had with git.

    "Uh oh, I tried to checkout a branch from remote by doing `git checkout origin/some-branch` instead of `git checkout some-branch` and made a couple source changes. Now I'm in detached head state. What is detached head ? I have to stash my revisions? Can I make a new branch with the same name or do I need to delete the origin/some-branch that I'm on?"

    When you could be able to just revert the "operation" and check out the correct branch, that's amazing.