No quiero cambiar el nombre de una rama remota, como se describe en Cambiar nombre de rama principal para repositorios 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 cambiar también el nombre de la rama remota :
¿Cómo cambio el nombre de una rama local y remota de Git?
fuente
git push -f --mirror
, cambiará el nombre de la rama en el control remoto, pero solo debe usar este método si el control remoto es simplemente una copia de su repositorio actual. Consulte también esta pregunta: stackoverflow.com/questions/1526794/git-rename-remote-branchpush.default
esté configurado. Por defecto (matching
) se enviará a un control remoto cuyo nombre coincida. Tendría que hacerlogit push origin <newname>:<oldname>
o creará una nueva rama remota. Sin embargo, sipush.default
está configurado enupstream
, entonces puedepush origin head
y las cosas irán al nombre antiguo en el control remoto.mv
para cambiar el nombre de los archivos. La razón de esto es que mover y renombrar, en un sistema de archivos de inodo basado en directorios, son completamente equivalentes.-m
opción es--move
, por ejemplo,git branch --move master
renombra la rama actual para que se llame "maestro".El comando anterior cambiará el nombre de su rama, pero debe tener mucho cuidado al usar la rama renombrada, porque aún se referirá a la antigua rama ascendente asociada con ella, si la hay.
Si desea insertar algunos cambios en master después de que su sucursal local cambie de 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 ".
fuente
Para cambiar el nombre de su sucursal actual:
fuente
Estos son los pasos para cambiar el nombre de la rama:
git branch -m <new_name>
git push origin :<old_name>
git push origin <new_name>:refs/heads/<new_name>
EDITAR (01/12/2017): asegúrese de ejecutar el comando
git status
y verifique 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, necesita desarmar el flujo ascendente usando:fuente
Cambiar el nombre de la rama será útil una vez que haya terminado. Luego vendrán cosas nuevas y querrás desarrollarlas en la misma rama en lugar de eliminarlas y crear una nueva.
Desde mi experiencia, para cambiar el nombre de una sucursal local y remota en Git, debe realizar los siguientes pasos.
1. Cambie el nombre de su sucursal local
Si está en la rama que desea cambiar de nombre:
Si estás en una rama diferente:
2. Elimine la rama remota de nombre antiguo y presione la rama local de nombre nuevo
3. Restablezca la rama ascendente para la rama local de nuevo nombre
fuente
error: dst ref refs/heads/<old-name> receives from more than one src.; error: failed to push some refs to 'git@uri:foo/bar.git'
git push origin :old-name new-name
¿verdad?Las respuestas hasta ahora han sido correctas, pero aquí hay información adicional:
Se puede cambiar el nombre de una rama de forma segura con '-m' (mover), pero hay que tener cuidado con '-M', ya que fuerza el cambio de nombre, incluso si ya hay una rama existente con el mismo nombre. Aquí está el extracto de la página del manual 'git-branch':
fuente
-M
indicador también es útil para forzar un cambio de nombre si solo está corrigiendo el caso del nombre de la rama, por ejemplo, cambiandomyBranch
aMyBranch
. (Con-m
, git regresafatal: A branch named 'MyBranch' already exists.
)1. Renombrar
Si es tu sucursal actual, solo hazlo
Si es otra rama a la que desea cambiarle el nombre
2. Rastrea una nueva sucursal remota
- Si su rama fue empujada, luego de cambiarle el nombre, debe eliminarla del repositorio remoto de Git y pedirle a su nuevo local que rastree una nueva rama remota:
fuente
Tontomente nombré una rama que comenzaba con un guión, y luego verifiqué el maestro. No quería eliminar mi sucursal, tenía trabajo en ella.
Ninguno de estos funcionó:
git checkout -dumb-name
git checkout -- -dumb-name
"
s,'
sy\
s tampoco ayudaron.git branch -m
no funcionaAsí es como finalmente lo arreglé. Vaya a la copia de trabajo .git / refs / heads, busque el nombre de archivo "-dumb-name", obtenga el hash de la rama. Luego, esto lo comprobará, creará una nueva sucursal con un nombre sensato y eliminará la anterior.
fuente
reflog
Para cambiar el nombre de una sucursal localmente:
Ahora también tendrá que propagar estos cambios en su servidor remoto.
Para impulsar los cambios de la rama antigua eliminada:
Para impulsar cambios de creación de nueva sucursal:
fuente
Solo tres pasos para replicar el cambio de nombre
remote
en GitHub:Paso 1
git branch -m old_branchname new_branchname
Paso 2
git push origin :old_branchname new_branchname
Paso 3
git push --set-upstream origin new_branchname
fuente
git push --set-upstream origin new_branchname
que se menciona en la respuesta deCambie el nombre de la rama con este comando:
-m
: Renombra / mueve la rama. Si ya hay una sucursal, recibirá un error.Si ya hay una rama y desea cambiar el nombre de esa rama, use:
Para obtener más información acerca de la ayuda, use este comando en la terminal:
o
fuente
Los usuarios avanzados de Git pueden cambiar el nombre manualmente usando:
fuente
Si está en la rama que desea cambiar de nombre:
Si estás en una rama diferente:
git push origin :old-name new-name
git push origin -u new-name
O para una forma rápida de hacerlo, puede utilizar estos 3 pasos:
# Renombrar sucursal localmente
# Eliminar la antigua rama remota
# Empuje la nueva rama, configure la rama local para rastrear el nuevo control remoto
Referencia: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
fuente
Aquí hay tres pasos: Un comando que puede llamar dentro de su terminal y cambiar el nombre de la sucursal.
Si necesita más: paso a paso, Cómo cambiar el nombre de la rama de Git es un buen artículo sobre eso.
fuente
Probablemente, como lo mencionaron otros, este será un desajuste de caso en el nombre de la rama.
Si tiene tal situación, puedo adivinar que está en Windows, lo que también lo llevará a:
Entonces tienes que hacer un paso intermedio:
Nada mas.
fuente
-M
lugar de-m
hacer este tipo de cambio de nombre de "arreglo de carcasa" en un solo paso.Intentando responder específicamente a la pregunta (al menos el título).
También puede cambiar el nombre de la sucursal local , pero sigue rastreando el nombre antiguo en el control remoto.
Ahora, cuando ejecuta
git push
, laold_branch
referencia remota se actualiza con su localnew_branch
.Tienes que conocer y recordar esta configuración. Pero puede ser útil si no tiene la 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 prefiere una más clara nombre de su sucursal local.
Jugando con la configuración de búsqueda, incluso puede cambiar el nombre de la referencia remota local. es decir, tener un
refs/remote/origin/new_branch
puntero de referencia a la rama, de hecho es elold_branch
encendidoorigin
. Sin embargo, desaconsejo esto, por la seguridad de su mente.fuente
Cambiar la sucursal localmente es bastante fácil ...
Si está en la rama a la que desea cambiar el nombre, simplemente haga esto:
De lo contrario, si usted está en
master
o cualquier otra rama distinta de la que desea cambiar el nombre, sólo tiene que hacer:Además, creo la imagen a continuación para mostrar esto en acción en una línea de comando . En este caso, estás en una
master
sucursal, por ejemplo:fuente
Si está dispuesto a usar SourceTree (que recomiendo encarecidamente), puede hacer clic con el botón derecho en su rama y elegir 'Cambiar nombre'.
fuente
Para cambiar el nombre de la rama actual (excepto para el estado HEAD separado) también puede usar este alias:
fuente
Otra opción es no usar la línea de comando en absoluto. Los clientes de Git GUI como SourceTree eliminan gran parte de la curva de aprendizaje sintáctico / dolor que hace que preguntas como esta se encuentren entre las más vistas en Stack Overflow.
En SourceTree, haga clic derecho en cualquier rama local en el panel "Ramas" a la izquierda y seleccione "Cambiar nombre ...".
fuente
Una forma simple de hacerlo:
Para más, mira esto .
fuente
Dado que no desea enviar la rama a un servidor remoto, este ejemplo será útil:
Supongamos que tiene una rama existente llamada "my-hot-feature" y desea cambiarle el nombre a "feature-15".
Primero, desea cambiar su sucursal local. Esto no podría ser más fácil:
Para obtener más información, puede visitar Cambiar de nombre local y remotamente una sucursal en Git .
fuente
Git versión 2.9.2
Si desea cambiar el nombre de la sucursal local en la que se encuentra:
Si desea cambiar el nombre de una rama diferente:
Si desea cambiar el nombre de una rama diferente a un nombre que ya existe:
Nota: El último comando es destructivo y cambiará el nombre de su rama, pero perderá la rama vieja con ese nombre y esas confirmaciones porque los nombres de las ramas deben ser únicos.
fuente
Si desea cambiar el nombre de la rama actual, ejecute:
Si desea eliminar la rama remota anterior, ejecute:
Si desea eliminar la antigua rama remota y crear una nueva rama remota, ejecute:
fuente
El cambio de nombre de la rama de Git se puede hacer usando:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
La diferencia entre -m y -M :
-m: si está intentando cambiar el nombre de su sucursal con un nombre de sucursal existente usando -m . Aparecerá 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. Por lo tanto, una rama existente se sobrescribirá por completo con ella ...
Aquí hay un ejemplo de terminal Git,
fuente
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 de la lista desplegable en el cuadro de diálogo "Cambiar nombre de rama" creado a partir del elemento de menú Rama: Cambiar nombre, escriba un nuevo nombre y haga clic en "Cambiar nombre". He resaltado dónde encontrar la lista desplegable.
fuente
Si quieres:
git branch -m <oldname> <newname>
git push origin: old-name new-name
git commit <newname>
git push origin new_branch_name:master
git status
git checkout
fuente
Todas las respuestas anteriores están hablando
git branch -m
. Por supuesto, es fácil de operar, pero para mí, puede ser un poco difícil recordar otro comando de Git. Así que intenté 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 anterior ahora, puede ejecutarlagit 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 sea útil para ti.
fuente
En PhpStorm:
VCS → Git → Sucursales ... → Sucursales locales → _your_branch_ → Cambiar nombre
fuente
Todo lo que tienes que hacer son los tres pasos:
fuente