renombrar remote remota rama origin nombre eliminar cambiar git repository rename git-branch

remote - ¿Cómo cambio el nombre de una sucursal local y remota de Git?



git rename branch remote (8)

Tengo cuatro ramas como master -> origin / recupecy, FeatureA -> origin / FeatureA. Como puede ver, escribí el nombre equivocado.

Por lo tanto, quiero cambiar el nombre de una rama remota (origen / recuperación → origen / legado u origen / maestro)

Intento el siguiente comando:

git remote rename regacy legacy

Pero la consola de Git me devolvió un mensaje de error.

error : Could not rename config section ''remote.regacy'' to ''remote.legacy''

¿Como puedó resolver esté problema?


Esto se puede hacer incluso sin renombrar la sucursal local en tres simples pasos:

  1. Ve a tu repositorio en GitHub
  2. Cree una nueva rama a partir de la rama anterior cuyo nombre desea cambiar
  3. Eliminar la rama vieja

No hay un método directo

  1. Renombrar sucursal local ,

    Mi rama actual es maestra

    git branch -m master_renamed #master_renamed es el nuevo nombre de master

  2. Eliminar sucursal remota,

    git push origin --delete master #origin is remote_name

  3. Empuje la rama renombrada al control remoto,

    git push origin master_renamed

Eso es...


Parece que hay una forma directa:

Si realmente solo desea cambiar el nombre de las ramas de forma remota (sin cambiar el nombre de las ramas locales al mismo tiempo), puede hacerlo con un solo comando como

git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>

Renombrar sucursales de forma remota en Git

Vea la respuesta original para más detalles.


Si ha nombrado incorrectamente una rama Y ha enviado esto al repositorio remoto, siga estos pasos para cambiar el nombre de esa rama ( según este artículo ):

  1. Cambie el nombre de su sucursal local:

    • Si está en la rama que desea cambiar de nombre:
      git branch -m new-name

    • Si estás en una rama diferente:
      git branch -m old-name new-name

  2. Elimine la rama remota de old-name y presione la rama local de new-name :
    git push origin :old-name new-name

  3. Restablezca la rama ascendente para la rama local de nuevo nombre :
    Cambie a la rama y luego:
    git push origin -u new-name


También se puede hacer de la siguiente manera.

Primero cambie el nombre de la sucursal local, luego la sucursal remota.

Renombrar la sucursal local:

Si inició sesión en otra sucursal,

git branch -m old_branch new_branch

Si inició sesión en la misma sucursal,

git branch -m new_branch

Cambiar el nombre de la rama remota:

git push origin :old_branch // Delete the remote branch git push --set-upstream origin new_branch // Create a new remote branch


Tuve que hacer la siguiente tarea para cambiar el nombre de la sucursal local y remota:

# Rename the local branch to the new name git branch -m <old_name> <new_name> # Delete the old remote branch git push origin --delete <old_name> # push to new remote branch - creates new remote branch git push origin <new_name> # set new remote branch as default remote branch for local branch git branch --set-upstream-to=origin/<new_name> <new_name>


Uso estos alias de git y prácticamente hace el trabajo automáticamente:

git config --global alias.move ''!git checkout master; git branch -m $1 $2; git status; git push --delete origin $1; git status; git push -u origin $2; git branch -a; exit;''

Uso: git move FROM_BRANCH TO_BRANCH

Funciona si tiene los nombres predeterminados como maestro, origen, etc. Puede modificarlo como desee, pero le da la idea.


No puede cambiar el nombre directamente de una rama remota. Tienes que eliminarlo y luego volver a presionarlo.

Renombrar una rama

# Rename the local branch to the new name git branch -m <old_name> <new_name> # Delete the old branch on remote - where <remote> is, for example, origin git push <remote> --delete old_name # Push the new branch to remote git push <remote> new_name # Reset the upstream branch for the new_name local branch git push <remote> -u new-name

Nota IMPORTANTE:

Cuando usa git branch -m (move), Git también actualiza su rama de seguimiento con el nuevo nombre.

git remote rename legacy legacy

git remote rename está tratando de actualizar su sección remota en su archivo de configuración. Cambiará el nombre del control remoto con el nombre dado al nuevo nombre, pero en su caso, no encontró ninguno, por lo que el cambio de nombre falló.

Pero no hará lo que piensas; cambiará el nombre de su configuración remota local y no la rama remota.

Tenga en cuenta que los servidores de Git pueden permitirle cambiar el nombre de las ramas de Git utilizando la interfaz web o programas externos (como Sourcetree, etc.), pero debe tener en cuenta que en Git todo el trabajo se realiza localmente, por lo que se recomienda utilizar los comandos anteriores al trabajo.