Nos gustaría hacer cumplir una nueva política para nuestros proyectos de que la rama maestra ahora se llame rama de lanzamiento para asegurarnos de que sea más claro cómo se debe usar la rama. Naturalmente, también desarrollaremos y lanzaremos ramas candidatas.
Entiendo que puedo cambiar el nombre de la rama maestra localmente simplemente usando lo siguiente:
git branch -m master release
Sin embargo, eso es solo a nivel local. Incluso si presiono esto hacia el control remoto, el HEAD aún apunta a la rama maestra remota. Quiero deshacerme de la rama maestra por completo y hacer que la rama local predeterminada en la clonación inicial se libere.
¿Cómo puedo conseguir esto?
Parece que, dado que el origen está en un servidor Gitorious , obtengo errores al eliminar la rama maestra. Estoy tratando de ver ahora si es posible cambiar esto para que la rama predeterminada sea 'lanzamiento'.
fuente
git branch
ahora admite una--move
bandera git-scm.com/docs/git-branch#Documentation/git-branch.txt---moveRespuestas:
Tenga en cuenta que si está utilizando GitHub , primero deberá cambiar su rama "predeterminada" en GitHub después del paso 3:
En su repositorio en github.com, vaya a Configuración → Ramas → Rama predeterminada . Cámbielo para liberar y luego realice el resto de los pasos.
fuente
! [remote rejected] branch (deletion of the current branch prohibited)
sucederá con Bitbucket. Cambie el "Repositorio principal" en la pantalla de configuración (debajo del ícono de ajustes).Echa un vistazo a tu rama maestra
Crea tu rama de lanzamiento y cámbiala:
Empuje eso al servidor
Eliminar la referencia de la rama maestra en el servidor
Eliminar la rama maestra local
fuente
Nota: Esta respuesta está destinada a servidores Git autohospedados donde tiene acceso a la línea de comandos.
Dado que intentar eliminar el
remote master
de un cliente de hecho no está permitido y supongo que prohibirdenyDeleteCurrent
tiene sentido, no me gustaría cambiar esa configuración.Sin embargo, descubrí que la forma más fácil de cambiar el nombre de su maestro si tiene acceso de línea de comando al servidor remoto es ejecutar el comando de cambio de nombre directamente en el control remoto.
Esto funcionó para mí:
git branch -m master release
Ahora, el repositorio remoto se usa
release
como su rama predeterminada y cualquieragit clone
en ese repositorio de cualquier cliente verificará la rama de lanzamiento de forma predeterminada.Es muy útil también después de configurar un repositorio simple para configurarlo según sus necesidades.
fuente
Como dijeron otros anteriormente, el problema aquí es Gitorious, que no le permite eliminar la rama HEAD por defecto. Tienes dos opciones para solucionar este problema. Una es iniciar sesión en el servidor Gitorious (con ssh), encontrar el repositorio de Git en el servidor de archivos y agregar:
a la configuración.
Una opción más sencilla es simplemente cambiar la rama predeterminada. Vaya a su repositorio en la interfaz web de Gitorious, presione "Editar repositorio" y establezca "Cabeza Cambie la referencia simbólica HEAD en los puntos del repositorio de Git a:". Una vez hecho esto, puede eliminar la rama maestra.
fuente
Si se encuentra con este problema con GitHub , siga los pasos hasta eliminar la rama en remoto. No te dejará hacer eso. Luego inicie sesión en la interfaz web y en el repositorio vaya a Configuración → Ramas → Rama predeterminada . Cámbielo a la nueva rama y realice el resto de los pasos.
fuente
Idealmente, desea configurar el seguimiento, así que haga esto:
Ahora, ¿quieres eliminar los demás?
¡Sencillo!
fuente
Ya que ha terminado con el cambio de nombre de las ramas, para configurar HEAD
release
para control remotoLuego, para eliminar la
master
rama en remoto, tendría que ser el administrador, al menos en GitHub. Consulte esta publicación para obtener más información.fuente