News for hackers. Stuff that matters.
Re: by mikepurvis on Tuesday November 15, 2022 @04:27PM (#33615265)
My brain immediately jumped to "but you can just git reflog and then copy the state you want to revert to and then git reset --hard <commit>", but not only is that not simple or obvious, it isn't even correct, since a commit or amend operation can be performed with only some of the changes staged, and a hard reset will wipe out anything unstaged. Ah sigh.

So yes, in short I agree.

Re: by latifk on Tuesday November 15, 2022 @05:18PM (#33615882)
Well in that situation you can stash unstaged, reset, then pop. But that just reinforces the OP’s point. Not the most ergonomic or discoverable path for something that should be simple to do.
Re: by michaelmior on Tuesday November 15, 2022 @09:15PM (#33617991)
git reset HEAD@{1} should do the trick to "uncommit" and keep uncommitted changes in the absence of conflicts. (I may be missing some edge cases.) It does however unstage changes.
Re: by galaxyLogic on Tuesday November 15, 2022 @09:30PM (#33618101)
Right and it is not obvious: git reset HEAD@{1} .
Re: by acchow on Tuesday November 15, 2022 @11:52PM (#33619017)
Right, if you grok the git model then this makes sense. But if you just want to use a tool without learning how it manages state, git is a pain.
Re: by srcreigh on Tuesday November 15, 2022 @10:22PM (#33618417)
Isn’t this just git reset —soft HEAD~1?

Put my stuff from the last commit back into working directory?

Very unintuitive (soft?) and I’ve just memorized this for the past 10 years.

Re: by mikepurvis on Wednesday November 16, 2022 @09:21AM (#33623369)