En Git, una rama es solo una lista ordenada de confirmaciones (también conocido como checkins). Algo que puede ser un poco confuso para los nuevos usuarios es que las sucursales no necesitan tener un nombre (aunque en la mayoría de las circunstancias usted quiere uno); y no hay nada particularmente especial en ninguna rama en particular (la masterrama es solo la predeterminada que se crea cuando inicializa un repositorio).
Probablemente ya lo sepas, pero Git es diferente a otros sistemas de control de versiones como el popular "Subversion", porque cada "copia de trabajo" (en lenguaje Subversion) es un repositorio propio ... de hecho, no hay nada particularmente especial sobre cualquier copia en particular; excepto que una copia ha sido generalmente acordada como la "canónica" que se utiliza para almacenar el producto final.
Entonces, volviendo a su pregunta ... el repositorio "canónico" que clonó cuando comenzó su copia local contenía una rama "maestra" por defecto; y está atrapado Ahora, si tuviera acceso a la computadora que contiene el repositorio maestro, puede iniciar sesión y ejecutar:
git branch -d master
Sin embargo, si no puede hacerlo, puede hacerlo desde su máquina local. El git branchcomando tiene una -ropción que afecta el repositorio remoto. En otras palabras, ejecutar el siguiente comando debería funcionar:
git branch -d -r master
Tenga en cuenta que en ambos casos; Supongo que masterse ha fusionado completamente en el historial de desarrollo en el que se encuentra actualmente su copia local. Si nunca lo ha usado masterantes (es decir, solo se ha registrado en developmento production), no tiene nada de qué preocuparse. Sin embargo, si usted (u otra persona) ha estado revisando las cosas master, entonces podría tener un problema. Puede forzar una eliminación cambiando el -da -Den los comandos anteriores; ¡pero recomiendo comprobar para ver qué hay de masterantemano! Si no tiene acceso a la computadora remota, ¡probablemente no podrá recuperarla!
Por cierto; Si usted (o cualquier otra persona) es nuevo en Git, le recomiendo leer Git from the Bottom Up de John Wiegley . Aunque había usado Git un poco antes de encontrar este artículo, realmente no entendí cómo funcionaba hasta que lo leí. ¡Es bastante útil!
git branch -d -r masterya no elimina la rama remota, elimina el conocimiento de su copia local de la rama remota. ¡La próxima vez que vuelvasgit fetch, la rama volverá! En cambio, querrás corrergit push origin :master. Esencialmente, lo que está haciendo aquí es empujar una rama nula (el nombre de la rama vacía a la izquierda de la:) sobre la parte superior de la rama remota (el nombre de la rama a la derecha de la:), eliminándola efectivamente.