On Fri, Nov 30, 2018 at 1:16 AM Dan Fabulich <d...@fabulich.com> wrote:
>
> Other thoughts on a global UI rethink:
>
> One of the most common complaints I hear about git is the conceptual 
> difficulty required in undoing changes. https://ohshitgit.com/
>
> > Git is hard: screwing up is easy, and figuring out how to fix your mistakes 
> > is fucking impossible. Git documentation has this chicken and egg problem 
> > where you can't search for how to get yourself out of a mess, unless you 
> > *already know the name of the thing you need to know about* in order to fix 
> > your problem.
>
> A significant fraction of the top-voted questions on StackOverflow are about 
> undoing changes. https://stackoverflow.com/questions/tagged/git
>
> What if there were a 'git undo' command that could unify the answers to all 
> of these questions?
>
> git undo stage
> git undo rm
> git undo edit (checkout files from the stage)
>
> git undo commit (prompt the user whether to revert or reset)
> git undo reset
> git undo checkout
>
> git undo merge
> git undo pull
> git undo push (prompt the user whether to force push back to the past or 
> whether to revert pushed commits)
> git undo rebase
>
> git undo undo
>
> git undo clean
> git undo delete-branch
> git undo delete-stash
>
> Some of these would be trivial effort, but a lot of them would require 
> fundamental changes in the way git operates. (You can't undo a clean right 
> now because the files are just destroyed.)

We're getting there. The biggest problem I have is how this "git undo"
should work, not the changes behind to support it. For example, if I
pulled then did some rebase, what would "git undo pull" do?
-- 
Duy

Reply via email to