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?
git
repository
rename
git-branch
JayD
fuente
fuente
Respuestas:
Hay algunas maneras de lograr eso:
Cambiar el nombre de local y remoto
Renombrar solo rama remota
Crédito: ptim
Nota IMPORTANTE:
Cuando usa
git branch -m
(mover), Git también actualiza su rama de seguimiento con el nuevo nombre.git remote rename
está intentando 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.
fuente
Your configuration specifies to merge with the ref ''refs/heads/old_name'
git checkout <new_name> ; git branch --unset-upstream
--unset-upstream
antes de volver a empujar, funciona según lo previsto.Si ha nombrado incorrectamente una rama Y la ha enviado al repositorio remoto, siga estos pasos para cambiar el nombre de esa rama ( según este artículo ):
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
Elimine la
old-name
rama remota y presione lanew-name
rama local :git push origin :old-name new-name
Restablezca la rama ascendente para la rama local de nuevo nombre :
cambie a la rama y luego:
git push origin -u new-name
fuente
git push <remote> --delete old_name
&git push origin :old-name new-name
para eliminar una rama.master
, en Detalles del repositorio establezca la rama predeterminada en una nueva rama. El error es:By default, deleting the current branch is denied, because the next 'git clone' won't result in any file checked out, causing confusion. You can set 'receive.denyDeleteCurrent' configuration variable to 'warn' or 'ignore' in the remote repository to allow deleting the current branch, with or without a warning message. To squelch this message, you can set it to 'refuse'. error: refusing to delete the current branch: refs/heads/master
Parece que hay una forma directa:
Vea la respuesta original para más detalles.
fuente
2.20.1
eliminó la rama anterior pero no se creó la nueva.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,
Si inició sesión en la misma sucursal,
Cambiar el nombre de la rama remota:
fuente
Si ya ha introducido el nombre incorrecto en remoto, haga lo siguiente:
Cambie a la sucursal local que desea renombrar
git checkout <old_name>
Cambiar el nombre de la sucursal local
git branch -m <new_name>
Empuje la
<new_name>
rama local y restablezca la rama ascendentegit push origin -u <new_name>
Eliminar la
<old_name>
rama remotagit push origin --delete <old_name>
Esto se basó en este artículo .
fuente
Adjuntar un fragmento simple para cambiar el nombre de su rama actual (local y en origen):
Explicación de git docs:
fuente
No hay un método directo
Renombrar sucursal local ,
Mi rama actual es maestra
git branch -m master_renamed
#master_renamed es el nuevo nombre del maestroEliminar sucursal remota,
git push origin --delete master
#origin es nombre_remotoEmpuje la rama renombrada al control remoto,
git push origin master_renamed
Eso es...
fuente
git push -u origin master_renamed
establecer la rama como una rama de seguimientoEsto se puede hacer incluso sin renombrar la sucursal local en tres simples pasos:
fuente
Uso estos alias de git y prácticamente hace el trabajo automáticamente:
Funciona si tiene los nombres predeterminados como maestro, origen, etc. Puede modificarlo como desee, pero le da la idea.
fuente
Tuve que hacer la siguiente tarea para cambiar el nombre de la sucursal local y remota:
fuente
Cambia el nombre de tu sucursal local. Si está en la rama que desea cambiar de nombre:
git branch -m nombre-nuevo
Si estás en una rama diferente:
Elimine la rama remota de nombre antiguo y presione la rama local de nombre nuevo.
origen de inserción de git: nombre antiguo nombre nuevo
Restablezca la rama ascendente para la rama local de nuevo nombre. Cambie a la rama y luego:
git push origin -u nombre-nuevo
¡Todo listo!
fuente
Si está en la rama que desea cambiar de nombre:
si permanece en una sucursal diferente en el momento actual:
Manténgase en la rama objetivo y:
Cambie a la rama de destino y luego:
fuente