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

Re: Why is it bad to rewind a branch that has already been pushed out?

From
Llinux@horizon.com <linux@horizon.com>
Date
Feb 3, 2007, 08:42 UTC
Message-ID
<20070203084247.13894.qmail@science.horizon.com>

You're quite right that git's basic history model won't get confused, just the users might be.

The basic problem is that, if you rewind your series from j to j^, and Alice has already fetched it, she'll get an error when she tries to fetch it again and git notices that j -> h is not a fast-forward.

It's not the error per se that's the problem, but the potentially confusing condition that git fetch justifiably refuses to let you get into without explicit authorization.

Heck, it could be a security breach, which is the main reason that it's an error and not a warning.

It won't confuse git, but might confuse Alice.
How about:
 Be careful with that last command: in addition to losing any changes
 in the working directory, it will also remove all later commits from
 this branch.  If this branch is the only branch containing those
-commits, they will be lost.  (Also, don't use "git reset" on a
-publicly-visible branch that other developers pull from, as git will
-be confused by history that disappears in this way.)
+commits, they will be lost.  Also, avoid using "git reset" on a
+publicly-visible branch that other developers have pulled from,
+because git (deliberately) has no way to "pull back" the commits
+they've already seen.  Git can cope with the resultant mess, but
+it can be confusing.
Next: Junio C Hamano
Message 1 of 2 in “Re: Why is it bad to rewind a branch that has already been pushed out?”
  1. linux@horizon.comFeb 3, 2007
  2. Junio C HamanoFeb 3, 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.