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

Re: Master and origin/master diverged

From
NKNeal Kreitzinger <nkreitzinger@gmail.com>
Date
Jun 22, 2012, 19:01 UTC
Message-ID
<4FE4C0F7.2080309@gmail.com>
In-Reply-To
<CAE1pOi1Ot0Fyv=2_XYKyUcsKp-m+CkT-miF=jC=wt9Rbz_dXqQ@mail.gmail.com>
On 6/22/2012 12:53 PM, Hilco Wijbenga wrote:
Show 24 quoted lines
> Hi all,
>
> One of my developers managed to push something that somehow "diverged"
> origin/master from everyone else's local master.
>
> A --> B --> C --> D (everybody's local master)
> |
> \--> B' --> C' --> D' --> E (origin/master)
>
> (i.e., A is the commit where things diverged; everyone's local master
> points to D but the new commit (E) that was pushed to origin/master
> uses different SHA1s for B, C, and D). I hope I explained it clearly
> enough.
>
> Now running git pull creates a merge commit joining D and E.
>
> When I asked the developer what he had done he told me everything had
> looked normal. No Git warnings, nothing strange in gitk (i.e. normal
> linear history). So I do not understand what went wrong.
>
> Does anyone have any idea as to what might have happened? Perhaps if I
> understand how this happened I might be able to prevent it from
> happening again.
>
Some ways you can prevent it from happening again:
(1) setting your canonical repo config to deny non-ff, and deny deletes:
[receive]
         denyDeletes = true
         denyNonFastforwards = true
(2) have your devs do git pull --ff-only

v/r, neal

Previous: Hilco WijbengaNext: Hilco Wijbenga
Message 6 of 13 in “Master and origin/master diverged”
  1. Hilco WijbengaJun 22, 2012
  2. Phil HordJun 22, 2012
  3. Hilco WijbengaJun 22, 2012
  4. Phil HordJun 22, 2012
  5. Hilco WijbengaJun 22, 2012
  6. Neal KreitzingerJun 22, 2012
  7. Hilco WijbengaJun 22, 2012
  8. Neal KreitzingerJun 22, 2012
  9. Hilco WijbengaJun 26, 2012
  10. Neal KreitzingerJun 27, 2012
  11. Junio C HamanoJun 22, 2012
  12. Hilco WijbengaJun 26, 2012
  13. Junio C HamanoJun 26, 2012

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.