Acabo de renombrar mi sucursal local usando
git branch -m oldname newname
pero esto solo cambia el nombre de la versión local de la twig. ¿Cómo puedo renombrar el que está en github ?
Como se mencionó, elimine el anterior en Github y vuelva a presionar, aunque los commands utilizados son un poco más detallados de lo necesario:
git push origin :name_of_the_old_branch_on_github git push origin new_name_of_the_branch_that_is_local
Sencillo. Disecando un poco los commands, el command git push es esencialmente:
git push <remote> <local_branch>:<remote_branch>
Así que hacer un push sin especificar local_branch significa esencialmente "no tomar nada de mi repository local y convertirlo en la twig remota". Siempre he pensado que esto es completamente kludgy, pero es la forma en que se hace.
Editar: a partir de Git 1.7 hay una syntax alternativa para eliminar una twig remota:
git push origin --delete name_of_the_remote_branch
Editar: como se menciona por @ void.pointer en los comentarios
Tenga en count que puede combinar las 2 operaciones de inserción:
git push origin :old_branch new_branch
Esto eliminará la twig anterior y presionará la nueva.
Simplemente elimine la twig anterior y cree una nueva.
Ejemplo (solo cambiar el nombre de la twig remota):
git push origin :refs/heads/oldname git push origin newname:refs/heads/newname
También es probable que deba cambiar el nombre de la sucursal local y cambiar la configuration de dónde presionar / tirar.
Los siguientes commands me funcionaron:
git push origin :old-name-of-branch-on-github git branch -m old-name-of-branch-on-github new-name-for-branch-you-want git push origin new-name-for-branch-you-want
He encontrado 3 commands de cómo puedes cambiar el nombre de tu twig de git, y estos commands son una forma más rápida 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
Si necesita paso a paso, puede leer este excelente artículo
Cómo cambiar el nombre de las sucursales locales y remotas de Git
Puede hacerlo sin terminal, solo necesita crear una twig con el nuevo nombre y eliminar la antigua. Puedes usar esta publicación para hacer eso.
Esto es lo que funcionó para mí:
1.) Crea la nueva twig primero: git push github newname: refs / heads / newname
2.) En el sitio github, vaya a la configuration y cambie la twig pnetworkingeterminada a newname
3.) Eliminar el antiguo nombre git push github –delete oldname
Este artículo muestra cómo hacerlo realmente fácil.
1. Para renombrar una twig local de Git, podemos usar el command Git branch -m para modificar el nombre:
git branch -m feature1 feature2
2. Si solo está buscando el command para cambiar el nombre de una twig remota de Git, esto es "
git push -u origin feature2:feature3
Verifique que no tenga tags en la twig antes de hacer esto. Puedes hacer eso con la git tag
.
Otra forma es cambiar el nombre de los siguientes files :
.git/refs/head/[branch-name]
a .git/refs/head/new-branch-name
.git/refs/remotes/[all-remote-names]/[branch-name]
a .git/refs/remotes/[all-remote-names]/new-branch-name
Cambie el nombre de la cabeza y los controles remotos, tanto en su PC local como en origen (es) / server (es) remoto (s)
Si su nombre de twig actual contiene barras inclinadas ( /
), git creará los directorys de la siguiente manera:
nombre de la sucursal actual: "awe/some/branch"
.git/refs/head/awe/some/branch
.git/refs/remotes/[all-remote-names]/awe/some/branch
deseo nombre de la twig: "new-branch-name"
branch
de .git/refs/*/awe/some/
.git/refs/head/
. branch
de .git/refs/remotes/*/awe/some/
.git/refs/remotes/*/
. branch
opied a new-branch-name
. .git/refs/head/new-branch-name
.git/refs/remotes/[all-remote-names]/new-branch-name
awe/some/branch
a new-branch-name
(local y remota). Información: De esta manera podría no ser la mejor, pero aún funciona para las personas que podrían tener problemas con las otras forms
En mi caso, necesitaba un command adicional
git branch --unset-upstream
para hacer que mi twig renombrada haga push hasta el nombre de origin newname
.
(Para facilitar la escritura), primero git checkout oldname
.
Luego ejecuta lo siguiente:
git branch -m newname
git push origin :oldname
o git push origin --delete oldname
git branch --unset-upstream
git push -u origin newname
o git push origin newname
Este paso adicional solo puede ser necesario porque yo tiendo a configurar el seguimiento remoto en mis sucursales a través de git push
-u
origin oldname
. De esta manera, cuando tengo oldname
desprotegido, posteriormente solo necesito el tipo git push
lugar de git push origin oldname
Si NO uso el command git branch --unset-upstream
antes de git push origin newbranch
, git vuelve a crear oldbranch
y empuja a newbranch
a origin oldbranch
– derrotando mi bash.