git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

Previous: Mike HommeyNext: Robin Rosenberg
Message 30 of 39 in “git-revert is one of the most misunderstood command in git, help users out.”
  1. git-revert is one of the most misunderstood command in git, help users out.Pierre Habouzit, Nov 5, 2007
  2. Pierre HabouzitNov 5, 2007
  3. J. Bruce FieldsNov 5, 2007
  4. Pierre HabouzitNov 5, 2007
  5. Steven GrimmNov 5, 2007
  6. Pierre HabouzitNov 5, 2007
  7. Alejandro Martinez RuizNov 5, 2007
  8. David KastrupNov 5, 2007
  9. Alejandro Martinez RuizNov 5, 2007
  10. Junio C HamanoNov 5, 2007
  11. Johannes SchindelinNov 5, 2007
  12. Pierre HabouzitNov 6, 2007
  13. Junio C HamanoNov 6, 2007
  14. Johannes SchindelinNov 6, 2007
  15. Junio C HamanoNov 6, 2007
  16. Pierre HabouzitNov 6, 2007
  17. Mike HommeyNov 6, 2007
  18. Pierre HabouzitNov 6, 2007
  19. Johannes SchindelinNov 6, 2007
  20. Junio C HamanoNov 6, 2007
  21. Johannes SchindelinNov 6, 2007
  22. Pierre HabouzitNov 6, 2007
  23. Junio C HamanoNov 6, 2007
  24. Johannes SchindelinNov 6, 2007
  25. Robin RosenbergNov 6, 2007
  26. Mike HommeyNov 6, 2007
  27. Robin RosenbergNov 6, 2007
  28. Johannes SchindelinNov 6, 2007
  29. Mike HommeyNov 7, 2007
  30. Johannes SchindelinNov 7, 2007
  31. Robin RosenbergNov 7, 2007
  32. Jakub NarebskiNov 7, 2007
  33. David KastrupNov 7, 2007
  34. Junio C HamanoNov 6, 2007
  35. Johannes SixtNov 6, 2007
  36. Johannes SchindelinNov 6, 2007
  37. Johannes SchindelinNov 6, 2007
  38. Pierre HabouzitNov 6, 2007
  39. Wincent ColaiutaNov 6, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.