Subject: Re: Undo last commit?

From: Jonathan Nieder <[email-masked]>
Date: Thu, 30 Jun 2011 13:38:30 -0500

Ramkumar Ramachandra wrote:
> Mike writes:

>> I do think that git needs polishing in this way. It was designed by a
>> very intelligent programmer... however they can sometimes be the worst
>> at user interface design.
[...]
> Git is
> very complex, and changing one little thing requires us to think about
> how it'll affect everything else.

Oh, dear.  No, I don't think these things are true at all (or at least I
hope we act so as to make them not true).  In its history, just like Jakub
likes to remind us now and then, git _evolved_.  To make it better, it
should be sufficient to do three things:

 1. When there is a small, obvious change that can make something
    better, do it.

 2. When there is a small, obvious change that can make git simpler
    and more flexible (so other changes can become small and obvious),
    do it.

 3. When there is a big, possibly advantageous change, try it out
    locally (e.g., on a branch).  If it turns out to work well, use it.

While it is always nice to see people thinking carefully, none of the
above necessarily requires thinking about all of git at once.  In
particular, (2) suggests that any feature leading a well informed
person to say "Git is very complex" is a bug.