Cambiar el nombre de una twig en github

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.

https://github.com/blog/1377-create-and-delete-branches

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

  1. Descarga Atlassian SourceTree (gratis).
  2. Importe su clon local del repository.
  3. Haga clic derecho en su twig para cambiar el nombre, en la barra lateral. Seleccione "Cambiar nombre de twig …" en el menu contextual y cámbiele el nombre.
  4. Empujar a origen

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 :

  1. navega por tu directory de proyectos
  2. renombrar .git/refs/head/[branch-name] a .git/refs/head/new-branch-name
  3. renombrar .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)

La twig ahora se renombra (local y remota)


Atención

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"

  1. navega por tu directory de proyectos
  2. Copie el file de branch de .git/refs/*/awe/some/
  3. ponerlo en .git/refs/head/ .
  4. copie el file de branch de .git/refs/remotes/*/awe/some/
  5. ponerlos en .git/refs/remotes/*/ .
  6. renombrar todos los files de branch opied a new-branch-name .
  7. compruebe si el directory y la estructura del file ahora se ve así:
    • .git/refs/head/new-branch-name
    • .git/refs/remotes/[all-remote-names]/new-branch-name
  8. haga lo mismo en todos sus orígenes / serveres remotos (si existe)
    • info : en los serveres remotos generalmente no hay directorys refs / remotes / * porque ya está en el server remoto;) (bueno, tal vez en configuraciones avanzadas de git podría ser posible, pero nunca lo había visto)

La twig ahora se renombra de awe/some/branch a new-branch-name (local y remota).

Los directorys en el nombre de la sucursal fueron eliminados.


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.

    Intereting Posts