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

Replacing a Remote Branch

From
Eric James Michael Ritz <eric@cybersprocket.com>
Date
Jul 23, 2010, 20:14 UTC
Message-ID
<4C49F83B.4060903@cybersprocket.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello everyone. I have a question about pushing branches that I hope a more experienced user could help me with.

Commonly I run into this situation:
  1. I have pushed a topic branch out to a repo where other developers
  on my team push their work until its ready to be merged.
  2. I realized I need to perform some ‘destructive’ action like
  ‘rebase -i’ or amend the last commit to fix a typo in the message.
  3. Then I want to push the changed branch as a replacement.
Currently I deal with this by running
    $ git push origin :foo && git push origin foo

to replace `foo`. But is there a shorter way to do this? I thought that writing something like

    $ git push origin +foo:foo

may have the intended effect, but I still get a rejection due to a non-fast-forward, so I am likely misunderstanding the purpose of `+`.

If there is any short-cut for this, I would greatly appreciate it. And if not, writing a simple script is not a huge hassle :)

- --
Eric James Michael Ritz
Cyber Sprocket Labs
(843) 225-3830
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJMSfg7AAoJEEHUZXw5hMWshwAIALOnsArQIWoxXNmOVNvi3ptd oXpUXbfX2ZgMnhOQAYmJXYjkqc/fKFh+MultDP1PRgQwPdPCEUfK/n5TEJXB66Jf nsgnGWIHk7nULuKJmCb9BrDd+xVI4tvbhI3gZYXrypoWdrfUat9rlUL52+eiAXp7 CG/FQrSoFRydREGUuAi1UNtTPt9UG2MT65dEx/S8wqRn8phpJHZI94mKOVZ58lI1 oQDfx+Ox6p2RJG/HRrX7/jWOiGzMk3Ix/cToAaltBWWp7MgvDq31pjrN0TZJfUu+ +vcgafAqseXDDuStlEGd8O5WT+uRYjn9/K3YHf55MKsMvKVzNxgS8IHQGzC+Yk4= =/0uY -----END PGP SIGNATURE-----

Next: Thomas Rast
Message 1 of 7 in “Replacing a Remote Branch”
  1. Eric James Michael RitzJul 23, 2010
  2. Thomas RastJul 23, 2010
  3. Eric James Michael RitzJul 23, 2010
  4. bill lamJul 24, 2010
  5. 1/2 Document receive.denyDeleteCurrentThomas Rast, Jul 24, 2010
  6. 2/2 Documentation/git-push: Explain status output in more detailThomas Rast, Jul 24, 2010
  7. 1/2 Document receive.denyDeleteCurrentThomas Rast, Jul 24, 2010

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.