Re: [PATCH] git-revert is one of the most misunderstood command in git, help users out.
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 7, 2007, 11:08 UTC
- Message-ID
- <Pine.LNX.4.64.0711071103450.4362@racer.site>
- In-Reply-To
- <20071107081608.GA19066@glandium.org>
Hi,
On Wed, 7 Nov 2007, Mike Hommey wrote:
Show 17 quoted lines
> On Tue, Nov 06, 2007 at 10:25:48PM +0000, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
>
> > On Tue, 6 Nov 2007, Robin Rosenberg wrote:
> >
> > > tisdag 06 november 2007 skrev Mike Hommey:
> > > > Maybe the documentation could emphasise on how to undo things when
> > > > the user makes mistakes. Sometimes, saving your repo can be as
> > > > simple as git reset --hard HEAD@{1}. This is not, unfortunately, a
> > > > works-for-all-cases command.
> > >
> > > Yea, git-undo(7).
> >
> > In related news, I know a few users who need an un-rm-rf. Anyone?
>
> The fact is you can do harm to your repo with things you wouldn't expect
> to break things, except maybe you gave bad arguments or so. It's quite
> easy to fuck up with git-rebase, or to merge the wrong commits, etc.I don't see how these commands are dangerous. Usually you just look into the reflog, pick the one commit you started with, and reset --hard.
The _only_ commands I find dangerous are "git stash clear" and "git reflog --expire=0". Funnily, people want to do that all the time.
Like recently, on the IRC channel, where somebody lost patches "during a rebase", by "rm -rf .dotest".
There will be a point where nobody can help. But before that, reflogs are your friend. But you must not do "reset --hard HEAD@{1}" blindly. You have to look first what the reflogs are.
Ciao, Dscho