it-swarm-es.tech

¿Cómo cambio el nombre de una sucursal Git local?

No quiero cambiar el nombre de una rama remota, como se describe en Renombrar la rama maestra para los repositorios de Git locales y remotos.

¿Cómo puedo cambiar el nombre de una sucursal local que no se ha enviado a una sucursal remota?

En caso de que necesite renombrar remote branch también:
¿Cómo cambio el nombre de las sucursales locales y remotas de Git

7584
Forrest

Si desea cambiar el nombre de una rama mientras apunta a una rama, haga lo siguiente:

git branch -m <oldname> <newname>

Si desea cambiar el nombre de la rama actual, puede hacerlo:

git branch -m <newname>

Una forma de recordar esto es que -m es para "mover" (o mv), que es la forma en que cambia el nombre de los archivos.

12186
siride
git branch -m old_branch_name new_branch_name

El comando anterior cambiará el nombre de su rama, pero debe tener mucho cuidado al usar la rama renombrada, ya que aún se referirá a la antigua rama en sentido ascendente asociada con ella, si corresponde.

Si desea insertar algunos cambios en el maestro después de que su sucursal local cambie su nombre a new_branch_name (nombre de ejemplo):

git Push Origin new_branch_name:master (ahora los cambios irán a la rama maestra, pero el nombre de su rama local es new_branch_name)

Para obtener más detalles, consulte " Cómo cambiar el nombre de su sucursal local en Git ".

387
Madhan Ayyasamy

Para cambiar el nombre de su rama actual:

git branch -m <newname>
283
Jonathan

Aquí están los pasos para cambiar el nombre de la rama:

  1. Cambiar a la rama que necesita ser renombrada
  2. git branch -m <new_name>
  3. git Push Origin :<old_name>
  4. git Push Origin <new_name>:refs/heads/<new_name>

EDITAR (12/01/2017): Asegúrate de ejecutar el comando git status y verifica que la rama recién creada apunte a su propia referencia y no a la anterior. Si encuentra la referencia a la rama más antigua, debe desactivar la secuencia ascendente utilizando:

git branch --unset-upstream
226
Milind Anantwar

Cambiar el nombre de la rama será útil una vez que la rama haya finalizado. Entonces vendrán nuevas cosas y querrás desarrollarlas en la misma rama en lugar de eliminarlas y crear la nueva.

Desde mi experiencia, para cambiar el nombre de una sucursal local y remota en Git, debe realizar los siguientes pasos.

Cotización desde Estados múltiples: cambie el nombre de una sucursal local y remota en git

1. Renombra tu sucursal local

Si estás en la rama que quieres 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 nombre antiguo y presione la rama local de nuevo nombre

git Push Origin :old-name new-name

3. Restablecer la rama ascendente para la rama local de nuevo nombre

git Push Origin -u new-name
161
trungk18

Las respuestas hasta ahora han sido correctas, pero aquí hay información adicional:

Se puede cambiar el nombre de una rama con '-m' (mover), pero hay que tener cuidado, porque '-M' obliga a cambiar el nombre, incluso si ya existe una rama con el mismo nombre. Aquí está el extracto de la página del manual 'git-branch':

> Con una opción -m o -M, <oldbranch> será renombrado a <newbranch>. Si <oldbranch> tenía un reflog correspondiente, se le cambia el nombre para que coincida con <newbranch>, y se crea una entrada de reflog para recordar el cambio de nombre de la rama. Si existe <newbranch>, se debe usar -M para forzar el cambio de nombre.

93
Vanchev

1. Renombrar

Si es su rama actual, solo haga

git branch -m new_name

Si es otra rama a la que desea cambiar el nombre

git branch -m old_name new_name

2. Rastrea una nueva rama remota

- Si su rama fue empujada, luego de cambiar el nombre, debe eliminarla del repositorio de Git remoto y pedirle a su nuevo local que rastree una nueva rama remota:

git Push Origin :old_name
git Push --set-upstream Origin new_name
77
Oss

Tontamente nombré una rama que comienza con un guión, y luego miré al maestro. No quería eliminar mi rama, tenía trabajo en ella.

Ninguno de estos funcionó:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's y \s tampoco ayudaron. git branch -m no funciona.

Así es como finalmente lo arreglé. Vaya a .git/refs/heads de su copia de trabajo, encuentre el nombre del archivo "-dumb-name", obtenga el hash de la rama. Entonces esto lo comprobará, creará una nueva rama con un nombre sano y eliminará la antigua.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
66
Samuel Meacham

Para renombrar una rama localmente:

git branch -m [old-branch] [new-branch]

Ahora también tendrá que propagar estos cambios en su servidor remoto.

Para empujar cambios de la rama antigua eliminada:

git Push Origin :[old-branch]

Para empujar cambios de creación de nueva rama:

git Push Origin [new-branch]
60
aliasav

Renombra la rama usando este comando:

git branch -m [old_branch_name] [new_branch_name]

-m: Renombra/mueve la rama. Si ya existe una rama, obtendrá un error.

Si ya existe una rama y desea cambiar el nombre de esa rama, use:

 git rename -M [old_branch_name] [new_branch_name]

Para obtener más información sobre la ayuda, use este comando en el terminal:

git branch --help

o

man git branch
33
Hafiz Shehbaz Ali

Los usuarios avanzados de Git pueden cambiar el nombre manualmente usando:

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name
31
Jethik

Renombrar rama:

git branch -m old_branchname new_branchname

Aquí el nombre largo de la opción -m es --move. Así que también podemos usar:

git branch --move old_branchname new_branchname

Si desea cambiar el nombre de la rama actual, use esto:

git branch -m new_branchname

o

git branch -move new_branchname

Si desea mover estos cambios a control remoto, use lo siguiente.

git Push Origin :old_branchname new_branchname

Esto eliminará la rama remota old_branchname y empujará la rama local new_branchname.

git Push Origin -u new_branchname

Esto restablecerá la rama en sentido ascendente para la rama local new_branchname.

30
Ajmal sha
  1. Renombra tu sucursal local.

Si estás en la rama que quieres cambiar de nombre:

git branch -m new-name

Si estás en una rama diferente:

git branch -m old-name new-name
  1. Elimine la rama remota de nombre antiguo y presione la rama local de nombre nuevo.

git Push Origin :old-name new-name

  1. Restablecer la rama en sentido ascendente para la rama local de nuevo nombre. Cambia a la rama y luego:

git Push Origin -u new-name

O para una manera rápida de hacerlo, puedes usar estos 3 pasos:

# Renombrar rama localmente

git branch -m old_branch new_branch  

# Eliminar la rama remota anterior

git Push Origin :old_branch  

# Presione la nueva rama, configure la rama local para rastrear el nuevo control remoto

git Push --set-upstream Origin new_branch   

Referencia: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

26
badarshahzad

Aquí hay tres pasos: Un comando que puede llamar dentro de su terminal y cambiar el nombre de la rama.

git branch -m old_branch new_branch         # Rename branch locally
git Push Origin :old_branch                 # Delete the old branch
git Push --set-upstream Origin new_branch   # Push the new branch, set local branch to track the new remote

Si necesita más: paso a paso,Cómo cambiar el nombre de la rama Gites un buen artículo sobre eso.

22
Hazarapet Tunanyan

Probablemente, como lo mencionaron otros, esto será una falta de coincidencia de casos en la denominación de sucursales.

Si tiene una situación así, puedo suponer que está en Windows, lo que también lo llevará a:

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

Entonces tienes que hacer un paso intermedio:

$ git branch -m temporary
$ git branch -m casesensitive

Nada mas.

21
P4C

Intentando responder específicamente a la pregunta (al menos el título).

También puede cambiar el nombre de local branch, pero sigue rastreando el nombre antiguo en el control remoto.

git branch -m old_branch new_branch
git Push --set-upstream Origin new_branch:old_branch

Ahora, cuando ejecuta git Push, el old_branch ref remoto se actualiza con su new_branch local.

Tienes que saber y recordar esta configuración. Pero puede ser útil si no tiene la opción para el nombre de la rama remota, pero no le gusta (oh, quiero decir, tiene una muy buena razón para que no le guste !) y prefiera un nombre más claro para su sucursal local.

Al jugar con la configuración de recuperación, incluso puede cambiar el nombre de la referencia remota local. es decir, tener un refs/remote/Origin/new_branch ref puntero a la rama, que de hecho es el old_branch en Origin. Sin embargo, lo desaliento mucho, por la seguridad de su mente.

19

Si está dispuesto a usar SourceTree (que recomiendo encarecidamente), puede hacer clic con el botón derecho en su rama y seleccionar "Cambiar nombre".

 enter image description here

17
Marcin Szymczak

Para cambiar el nombre de la rama actual (a excepción de la separación HEAD estado), también puede usar este alias:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
16
dentuzhik

Cambiar la rama localmente es bastante fácil ...

Si está en la rama para la que desea cambiar el nombre, simplemente haga lo siguiente:

git branch -m my_new_branch

De lo contrario, si está en master o cualquier otra rama que no sea la que le gustaría cambiar el nombre, simplemente haga lo siguiente:

git branch -m my_old_branch my_new_branch

Además, creo la imagen de abajo para mostrar esto en acción en un línea de comando. En este caso, usted está en la rama master, por ejemplo:

 Change branch name locally

16
Alireza

Otra opción es no usar la línea de comando en absoluto. Los clientes de Git GUI como SourceTree quitan gran parte de la curva de aprendizaje/dolor sintáctico que hace que preguntas como esta se encuentren entre las más vistas en Stack Overflow.

En SourceTree, haga clic con el botón derecho en cualquier rama local en el panel "Ramas" a la izquierda y seleccione "Cambiar nombre ...".

15
Steve Chambers

Dado que no desea enviar la rama a un servidor remoto, este ejemplo será útil:

Digamos que tienes una rama llamada "my-hot-feature" y quieres cambiarle el nombre a "feature-15".

Primero, quieres cambiar tu sucursal local. Esto no podría ser más fácil:

git branch -m my-hot-feature feature-15

Para obtener más información, puede visitarCambiar el nombre local y remoto de una sucursal en Git.

13
Tanah

Git versión 2.9.2

Si desea cambiar el nombre de la sucursal local en la que se encuentra:

git branch -m new_name

Si desea cambiar el nombre de una rama diferente:

git branch -m old_name new_name

Si desea cambiar el nombre de una rama diferente a un nombre que ya existe:

git branch -M old_name new_name_that_already_exists

Nota: El último comando es destructivo y cambiará el nombre de su rama, pero perderá la rama antigua con ese nombre y esos compromisos porque los nombres de las ramas deben ser únicos.

10
nikkypx

Si desea cambiar el nombre de la rama actual, ejecute:

git branch -m [old_branch] [new_branch]

Si desea eliminar la rama remota anterior, ejecute:

git Push Origin :[old_branch]

Si desea eliminar la antigua rama remota y crear una nueva rama remota, ejecute:

git Push Origin :old_branch new_branch
8
Arif

Una forma sencilla de hacerlo:

git branch -m old_branch new_branch         # Rename branch locally
git Push Origin :old_branch                 # Delete the old branch
git Push --set-upstream Origin new_branch   # Push the new branch, set local branch to track the new remote

Para más información, vea esto .

8
Nomade

Solo dos pasos para replicar el cambio en el nombre en remote así como en GitHub:

Paso 1 git branch -m old_branchname new_branchname

Paso 2 git Push Origin :old_branchname new_branchname

7
Harry_pb
git branch -m old_branch_name  new_branch_name

o

git branch --move old_branch_name new_branch_name
4
user128364

Para los usuarios de Git GUI no podría ser mucho más simple. En la GUI de Git, elija el nombre de la rama en la lista desplegable en el cuadro de diálogo "Cambiar nombre de rama" creado desde el elemento del menú Rama: Cambiar nombre, escriba un nuevo nombre y haga clic en "Cambiar nombre". He resaltado dónde encontrar la lista desplegable.

 Rename a local Git branch

4
user3070485

Todas las respuestas anteriores están hablando de git branch -m. Por supuesto, es fácil de operar, pero para mí, puede ser un poco difícil recordar otro comando Git. Así que traté de hacer el trabajo con el comando con el que estaba familiarizado. Sí, puedes adivinarlo.

Yo uso git branch -b <new_branch_name>. Y si no desea guardar la rama antigua ahora, puede ejecutar git branch -D <old_branch_name> para eliminarla.

Sé que puede ser un poco tedioso, pero es más fácil de entender y recordar. Espero que te sea de utilidad.

3
Dai Kaixian

El cambio de nombre de la rama de Git se puede hacer usando:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

La diferencia entre -m y -M :

-m: si intenta cambiar el nombre de su rama con un nombre de rama existente usando -m . Se generará un error diciendo que la rama ya existe. Necesitas dar un nombre único.

Pero,

-M: esto te ayudará a forzar el cambio de nombre con un nombre dado, incluso si existe. Así que una rama existente se sobrescribirá completamente con ella ...

Aquí hay un ejemplo de terminal de Git,

[email protected]:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
[email protected]:~/project/myapp/sunithamakeup$
3
Silent Spectator

Si quieres:

  • Renombra el repositorio de Git, ejecuta: git branch -m <oldname> <newname>
  • Eliminar la rama antigua por: git Push Origin: old-name new-name
  • Comprométalo usando: git commit <newname>
    • y luego presione utilizando: git Push Origin new_branch_name:master
  • Si desea verificar el estado, utilice: git status
  • Si quiere salir, use: git checkout
2
Vineet Jain

En PhpStorm:

VCS → Git → Sucursales ... → Sucursales locales →TU_FRAMAL→ Renombrar

1
AlexSi

Renombrar la rama actual

git branch -m <newbranchname>

o

git branch -m oldbranchname newbranchname
0
panthari