¿Cómo cambiar el nombre de la rama git local?

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

¿Cómo cambiar el nombre de una rama local en la que no se hizo clic en una rama remota?

5839
06 июля '11 в 6:20 2011-07-06 06:20 Forrest se establece el 6 de julio de 2011 a las 6:20 2011-07-06 06:20
@ 24 respuestas

Si desea cambiar el nombre de una rama, apuntándola a cualquier rama, siga estos pasos:

 git branch -m <oldname> <newname> 

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

 git branch -m <newname> 

La forma de recordar esto es, -m para "mover" (o mv ), es decir, cómo cambiar el nombre de los archivos.

9202
06 июля '11 в 6:21 2011-07-06 06:21 la respuesta la da siride el 6 de julio de 2011 a las 6:21 2011-07-06 06:21
 git branch -m old_branch_name new_branch_name 

El comando anterior cambiará el nombre de su rama, pero debe tener mucho cuidado con la rama renombrada, ya que aún se referirá a la rama ascendente asociada con ella, si existe una.

Si desea mover algunos cambios al asistente después de cambiar el nombre de la rama local a new_branch_name (nombre de ejemplo):

border=0

git push origin new_branch_name:master (ahora los cambios irán a la rama principal, pero el nombre de su sucursal local es new_branch_name)

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

303
21 янв. La respuesta se da Madhan Ayyasamy 21 de enero. 2013-01-21 12:49 '13 a las 12:49 2013-01-21 12:49

Para renombrar la rama actual:

 git branch -m <newname> 
208
20 июня '13 в 18:05 2013-06-20 18:05 La respuesta es dada por Jonathan el 20 de junio de 2013 a las 18:05 2013-06-20 18:05

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

 1. switch to branch which needs to be renamed 2. git branch -m <new_name> 3. git push origin :<old_name> 4. git push origin <new_name>:refs/heads/<new_name> 

EDITAR (01/12/2017): asegúrese de ejecutar el comando git status y asegúrese de que la rama recién creada apunta a su propia referencia, y no a la anterior. Si encuentra un enlace a una sucursal más antigua, debe cancelar el flujo ascendente utilizando:

 git branch --unset-upstream 
148
15 апр. Respuesta dada por Milind Anantwar el 15 de abril. 2015-04-15 15:50 '15 a las 15:50 2015-04-15 15:50

Cambiar el nombre de una rama será útil después de completar tu rama. Luego viene el nuevo material, y desea desarrollarlo en la misma rama, y ​​no borrarlo y crear uno nuevo.

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

Cita de varios estados. Renombrar rama local y remota a git

1. Renombrar sucursal local

Si está en una sucursal, desea cambiar el nombre:

 git branch -m new-name 

Si estás en otra rama:

 git branch -m old-name new-name 

2. Elimine la rama remota del nombre antiguo y haga clic en la rama local del nombre nuevo.

 git push origin :old-name new-name 

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

 git push origin -u new-name 
84
14 окт. La respuesta se da trungk18 14 oct. 2016-10-14 06:22 '16 a las 6:22 am 2016-10-14 06:22

Las respuestas han sido correctas hasta ahora, pero aquí hay información adicional: puedes cambiar el nombre de una rama con "-m" (mover), pero debes tener cuidado, porque "-M" te obliga a cambiar el nombre, incluso si existe una rama con el mismo nombre. Aquí hay un extracto de la página del manual de git-branch:

Con la opción -m o -M, <oldbranch> cambiará su nombre a <newbranch> . Si <oldbranch> tiene un reflog coincidente, se le cambia el nombre para que coincida con <newbranch> , y se crea una entrada de reflog para recordar el cambio de nombre de las ramas. Si <newbranch> existe, se debe usar -M para forzar un cambio de nombre.

70
24 сент. La respuesta se da Vanchev 24 sep . 2013-09-24 16:21 '13 a las 4:21 pm 2013-09-24 16:21

1. Renombrar

Si este es tu hilo actual, solo

  git branch -m new_name 

Si esta es otra rama que desea cambiar de nombre

  git branch -m old_name new_name 

2. Rastrea una nueva rama remota

. Si se hizo clic en su sucursal, después de cambiar el nombre, debe eliminarlo del repositorio de Git remoto y solicitar la nueva pista local de la nueva sucursal remota:

  git push origin :old_name git push --set-upstream origin new_name 
56
17 дек. Respuesta dada por Mohamed Osama el 17 de diciembre. 2015-12-17 16:45 '15 a las 4:45 pm 2015-12-17 16:45

Estúpidamente llamé a una rama comenzando con un guión, y luego revisé el maestro. No quise quitar mi rama, trabajé en ella.

Ninguno de ellos funcionó:

git checkout -dumb-name

git checkout -- -dumb-name

" s, ' y \ también no ayudaron. git branch -m no funciona.

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

 git checkout {hash} git checkout -b brilliant-name git branch -d -- -dumb-name 
51
09 нояб. La respuesta la da Samuel Meacham el 9 de noviembre. 2013-11-09 10:31 '13 a las 10:31 am 2013-11-09 10:31

Para cambiar el nombre de una rama localmente:

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

Ahora también tendrá que propagar estos cambios a un servidor remoto.

Para enviar cambios a una rama antigua eliminada:

 git push origin :[old-branch] 

Para realizar cambios en la creación de una nueva rama:

 git push origin [new-branch] 
48
20 авг. respuesta dada aliasav 20 de agosto 2015-08-20 09:39 '15 a las 9:39 2015-08-20 09:39

Renombra la rama usando este comando:

 git branch -m [old_branch_name] [new_branch_name] 

-m : renombra / mueve una rama. Si hay una rama, recibirá un mensaje de error.

Si ya existe una rama, y ​​desea cambiarle el nombre con esta rama, use:

  git rename -M [old_branch_name] [new_branch_name] 

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

 git branch --help 

o

 man git branch 
23
11 апр. Hafiz Shehbaz Ali dio la respuesta el 11 de abril. 2015-04-11 09:19 '15 a las 9:19 2015-04-11 09:19

Los usuarios de Git extendido pueden cambiar el nombre manualmente:

 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 
22
05 авг. La respuesta es dada por Jethik 05 ago. 2015-08-05 12:04 '15 a las 12:04 2015-08-05 12:04

Probablemente, como lo mencionaron otros, será un desajuste en el nombre de las sucursales.

Si tiene esta situación, 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 necesitas dar un paso intermedio:

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

Nada mas

16
25 мая '15 в 14:52 2015-05-25 14:52 la respuesta la da P4C el 25 de mayo de '15 a las 14:52 2015-05-25 14:52

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

También puede cambiar el nombre de la rama local, pero hacer un seguimiento del nombre antiguo en el control remoto.

 git branch -m old_branch new_branch git push --set-upstream origin new_branch:old_branch 

Ahora, cuando ejecutas git push , la old_branch remota old_branch se actualiza al local new_branch .

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

Mientras juega con la configuración de muestra, incluso puede cambiar el nombre del enlace remoto local. es decir, tener un refs/remote/origin/new_branch ref refs/remote/origin/new_branch para la rama, es decir, de hecho, old_branch to origin . Sin embargo, estoy muy desanimado por esto, por la seguridad de su mente.

14
19 мая '16 в 13:39 2016-05-19 13:39 La respuesta se da a Pierre-Olivier Vares el 19 de mayo de 2016 a las 13:39 2016-05-19 13:39

Otra opción es no usar la línea de comando en absoluto. Los clientes de Git GUI, como SourceTree , eliminan la mayor parte de la curva de sintaxis de aprendizaje / dolor, lo que plantea problemas como este, el más visto en un desbordamiento de pila.

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

12
08 марта '15 в 19:13 2015-03-08 19:13 La respuesta la da Steve Chambers el 8 de marzo de 2015 a las 19:13 2015-03-08 19:13

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 Git de una rama es un buen artículo al respecto.

12
10 мая '16 в 21:04 2016-05-10 21:04 Hazarapet Tunanyan 10 de mayo de 2016 a las 21:04 2016-05-10 21:04

Para cambiar el nombre de la rama actual (excepto para un estado HEAD separado), también puede usar este alias:

 [alias] mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1' 
11
02 сент. respuesta dada dentuzhik 02 sep. 2014-09-02 20:25 '14 a las 20:25 2014-09-02 20:25

Como no desea enviar una rama a un servidor remoto, este ejemplo será útil:

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

Primero quieres cambiar la sucursal local. No podría ser más fácil:

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

Para obtener más información, puede visitar Local y remotamente cambiar el nombre de la sucursal a Git .

7
27 окт. Responder Tanah 27 de octubre 2015-10-27 13:17 '15 a las 13:17 2015-10-27 13:17

Si desea utilizar SourceTree (que recomiendo encarecidamente), puede hacer clic con el botón derecho en su sucursal y seleccionar "Cambiar nombre".

2019

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 quieres cambiar el nombre de otra rama:

 git branch -m old_name new_name 

Si desea cambiar el nombre de otra rama a un nombre existente:

 git branch -M old_name new_name_that_already_exists 

Nota El último comando es destructivo y cambia el nombre de su rama, pero perderá la rama antigua con este nombre, y se corregirá, porque los nombres de las ramas deben ser únicos.

5
22 сент. Respuesta dada por nikkypx sep 22 2016-09-22 03:03 '16 a las 3:03 2016-09-22 03:03

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 
4
31 янв. La respuesta se da Arif 31 de enero. 2017-01-31 18:53 '17 a las 18:53 2017-01-31 18:53

¡Cambiar una rama localmente es bastante simple! ...

Si está en una sucursal, desea cambiar el nombre, simplemente siga estos pasos:

 git branch -m my_new_branch 

De lo contrario, si está en master o cualquier otra rama , excepto la que desea cambiar, simplemente ejecute:

 git branch -m my_old_branch my_new_branch 

Además, creo una imagen a continuación para mostrarla en acción en la línea de comandos. En este caso, estás en la rama master , por ejemplo:

2019

04 июля '17 в 17:01 2017-07-04 17:01 Alireza da la respuesta el 4 de julio de 2017 a las 17:01 2017-07-04 17:01

Si desea cambiar el nombre del repositorio git -
git branch -m <oldname> <newname>
quitar la rama vieja por
git push origin :old-name new-name
Arreglarlo con

git commit <newname>
y luego haga clic usando git push origin new_branch_name:master
Si desea comprobar el estado, utilice: -
git status
Si quieres comprobar, entonces: -
git checkout

0
26 авг. La respuesta la da Vineet Jain 26 ago. 2017-08-26 17:18 '17 a las 17:18 2017-08-26 17:18

Todo lo anterior habla de la git branch -m . Por supuesto, es fácil trabajar con él, pero puede que me resulte un poco difícil recordar otro comando git. Así que traté de hacer el trabajo con el equipo con el que estaba familiarizado. Sí, podrías adivinar.

Estoy usando git branch -b <new_branch_name> . Y si no quieres mantener la rama antigua, puedes git branch -D <old_branch_name> para eliminarla.

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

0
29 авг. Respuesta dada por Dai Kaixian el 29 de agosto. 2017-08-29 05:16 '17 a las 5:16 am 2017-08-29 05:16

git cambiar el nombre de una rama se puede hacer usando

  • git branch -m oldBranch newBranch

  • git branch -M oldBranch ExistingBranch

La diferencia entre -m y -M ,

-m: si intenta cambiar el nombre de su rama con la salida del nombre de la rama con la ayuda de -m, se producirá un error, dice que la rama ya existe. Es necesario especificar un nombre único.

pero

-M : , te ayudará a renombrar a la fuerza con el nombre dado, incluso si existe. por lo tanto, la rama existente lo sobrescribirá completamente ...

Aquí hay un ejemplo de terminal git,

 mohideen@dev:~/project/myapp/sunithamakeup$ git branch master master0 new_master test * test1 mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test fatal: A branch named 'test' already exists. mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test mohideen@dev:~/project/myapp/sunithamakeup$ git branch master master0 new_master * test mohideen@dev:~/project/myapp/sunithamakeup$ 
0
01 сент. Respuesta dada por Mohideen ibn Mohammed el 1 de septiembre. 2017-09-01 09:59 '17 a las 9:59 2017-09-01 09:59

Otras preguntas sobre las etiquetas de o Haz una pregunta