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

Re: How do you switch branches in a bare repo?

From
Johannes Sixt <j.sixt@viscovery.net>
Date
Mar 12, 2010, 06:57 UTC
Message-ID
<4B99E5DD.3020005@viscovery.net>
In-Reply-To
<4B99DEA2.6050104@uq.edu.au>
Adam Nielsen schrieb:
Show 11 quoted lines
> I want to remove some commits (with git reset) from a bare repo, but
> they're not in the master branch and I can't figure out how to change
> branches:
> 
> $ git checkout newbranch
> fatal: This operation must be run in a work tree
> 
> I've tried running the reset locally and pushing the change (with -f)
> but that doesn't work either, and Google isn't being much help.
> 
> How do you switch between branches in a bare repo?
You don't have to. This should work:
   git push -f . newbranch~2:newbranch
will remove the last two commits at the tip of 'newbranch'.

Of course, you can do the push from any other repository as long as you are allowed to do non-fast-forward pushes into the bare repository.

-- Hannes
Previous: Adam NielsenNext: Adam Nielsen
Message 2 of 8 in “How do you switch branches in a bare repo?”
  1. Adam NielsenMar 12, 2010
  2. Johannes SixtMar 12, 2010
  3. Adam NielsenMar 12, 2010
  4. Johannes SixtMar 12, 2010
  5. Adam NielsenMar 12, 2010
  6. Michael WittenMar 12, 2010
  7. Jonathan NiederMar 12, 2010
  8. Junio C HamanoMar 14, 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.