¿Cómo cambio el nombre de una sucursal existente en un repositorio de Git?
Quiero que la rama actual tenga un nuevo nombre.
¿Cómo cambio el nombre de una sucursal existente en un repositorio de Git?
Quiero que la rama actual tenga un nuevo nombre.
Respuestas:
Suponiendo que se encuentra actualmente en la rama que desea cambiar de nombre:
git branch -m newname
Esto está documentado en el manual de git-branch
, que puede ver usando
man git-branch
o
git help branch
Específicamente, el comando es
git branch (-m | -M) [<oldbranch>] <newbranch>
donde los parámetros son:
<oldbranch>
The name of an existing branch to rename.
<newbranch>
The new name for an existing branch. The same restrictions as for <branchname> apply.
<oldbranch>
es opcional, si desea cambiar el nombre de la rama actual.
git branch -m other-branch renamed-other-branch
si no lo eres.
git push origin :branchname
. Eso le permitiría empujar el nuevo y eliminar el viejo, esencialmente renombrándolo en el control remoto.
-m
, cambia el nombre de la rama anterior, por lo que elimina la anterior.
Si actualmente está en la sucursal, desea cambiar el nombre:
git branch -m new_name
Si no:
git branch -m old_name new_name
Puedes consultar con:
git branch -a
Como puede ver, solo el nombre local cambió ahora, para cambiar el nombre también en el control remoto debe hacer:
git push origin :old_name
Esto elimina la rama, luego cárgala con el nuevo nombre:
git push origin new_name
old_name
nuevamente a la rama. Afortunadamente, git también suministra una solución en la línea de comandos: git-branch --unset-upstream
. Después de esto, todos los commits enviados fueron a la new_name
rama remota.
git push
porque recibió una advertencia que dice Your branch is based on 'old_name, but the upstream is gone.
A git push -u origin new_name
resuélvala.