¿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?
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.
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):

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 .
Para renombrar la rama actual:
git branch -m <newname>
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
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.
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
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.
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
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
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]
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
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
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
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.
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 ...".
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.
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'
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 .
Si desea utilizar SourceTree (que recomiendo encarecidamente), puede hacer clic con el botón derecho en su sucursal y seleccionar "Cambiar nombre".
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.
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
¡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:
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
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.
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$
Otras preguntas sobre las etiquetas de git git-branch o Haz una pregunta