Switch current branch in git bare repository

Ankur picture Ankur · Dec 17, 2010 · Viewed 11.8k times · Source

I actually want to remove a branch in the bare repository i am working with, but this task hits a dead end because I cannot switch away from the master repository without a 'work tree' which a bare repository does not have.

When I run git branch -d master the output is:

error: Cannot delete the branch 'master' which you are currently on.

So I try to switch to another branch called 'develop' by running git checkout develop and the output is:

fatal: This operation must be run in a work tree

Answer

cdhowie picture cdhowie · Dec 17, 2010

Try this instead of git checkout:

git symbolic-ref HEAD refs/heads/develop

Then you should be able to delete master.