2010-12-17 27 views
46

De hecho, quiero eliminar una rama en el repositorio vacío con el que estoy trabajando, pero esta tarea llega a un callejón sin salida porque no puedo abandonar el repositorio principal sin un 'árbol de trabajo' que repositorio desnudo no tiene.Cambiar la rama actual en el repositorio de git bare

Cuando corro git branch -d master la salida es:

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

así que trato de cambiar a otra rama llamada 'desarrollar' mediante la ejecución de git checkout develop y la salida es:

fatal: This operation must be run in a work tree 
+1

Esto parece un duplicado de http://stackoverflow.com/q/3301956/4918, pero es exactamente mi caso de uso y mucho mejor para leer. Por lo tanto, I +1 aquí y no marca, solo enlace. –

Respuesta

67

probar este lugar de git checkout:

git symbolic-ref HEAD refs/heads/develop 

Entonces debería poder para eliminar el maestro

+0

'git clone --bare' no crea un' refs/heads/master'. A menos que edite 'HEAD' manualmente, ¿cómo cambio la referencia simbólica de' HEAD' a 'master' si no existe tal cabezal? –

+0

@dimadima De la misma manera. Si miras en 'packed-refs' deberías ver que contiene una definición para' refs/heads/master'. – cdhowie

+0

Gracias @cdhowie –

Cuestiones relacionadas