¿Cómo cambio el URI (URL) de un repositorio Git remoto?

5 minutos de lectura

avatar de usuario
e-satis

Tengo un repositorio (origen) en una llave USB que cloné en mi disco duro (local). Moví “origen” a un NAS y probé con éxito la clonación desde aquí.

Me gustaría saber si puedo cambiar el URI de “origen” en la configuración de “local” para que ahora se extraiga del NAS y no de la llave USB.

Por ahora, puedo ver dos soluciones:

  • empuje todo a usb-orign y cópielo al NAS nuevamente (implica mucho trabajo debido a las nuevas confirmaciones en nas-origin);

  • agregue un nuevo control remoto a “local” y elimine el anterior (temo que rompa mi historial).

  • Tuve que hacer esto en una versión anterior de git (1.5.6.5) y la opción set-url no existía. Simplemente eliminar el control remoto no deseado y agregar uno nuevo con el mismo nombre funcionó sin problemas y mantuvo el historial perfectamente.

    – HotN

    11/09/2014 a las 21:17

  • en mi caso, necesito verificar mi permiso, tengo dos repositorios privados de git y esta segunda cuenta es administradora de ese nuevo repositorio y la primera es mi cuenta de usuario predeterminada y debo otorgar permiso a la primera

    – saber tabatabaee yazdi

    6 de febrero de 2020 a las 16:35

  • Nice Doc está disponible aquí. docs.github.com/en/free-pro-team@latest/github/using-git/…

    – Ravi Parek

    28 de diciembre de 2020 a las 8:49

  • Las respuestas aquí muestran la forma más fácil de clonar un repositorio remoto localmente (si la consola web no lo permite, como en Bitbucket local, donde la función de importación es defectuosa; no puede clonar un repositorio existente con un nuevo nombre en el mismo espacio de nombres). ).

    – mirekphd

    hace 2 días

avatar de usuario
Utensilio

git remote -v
# View existing remotes
# origin  https://github.com/user/repo.git (fetch)
# origin  https://github.com/user/repo.git (push)

git remote set-url origin https://github.com/user/repo2.git
# Change the 'origin' remote's URL

git remote -v
# Verify new remote URL
# origin  https://github.com/user/repo2.git (fetch)
# origin  https://github.com/user/repo2.git (push)

Cambiar la URL de un control remoto

  • Para conseguirlos todos, agregué: git remote set-url --push origin git@github.com/User/Branch.git y git remote set-url composer https://github.com/User/Branch.git

    – Junco

    14 de julio de 2020 a las 18:56

  • @MS Berends El git remote -v ayudó para la verificación, mientras que la solución aceptada no proporcionó eso.

    – rmutalik

    10 de noviembre de 2020 a las 18:49

  • Nota: si obtiene 403 prohibido, siga este tutorial: janac.medium.com/…

    – Janac Meena

    8 sep 2021 a las 18:10

  • Hice esto, pero después de empujar con git add . && git commit -m 'fix' && git push origin al nuevo control remoto y dice que todo está actualizado mientras que el nuevo control remoto está vacío. Cuál podría ser la razón ?

    – Florencio

    15 de julio a las 9:14

avatar de usuario
Yoda

Cambiar host para un servidor Git Origin

de: http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/

Esperemos que esto no sea algo que necesites hacer. El servidor que he estado usando para colaborar en algunos proyectos de git tenía el nombre de dominio caducado. Esto significó encontrar una forma de migrar los repositorios locales para volver a estar sincronizados.

Actualización: gracias a @mawolf por señalar que hay una manera fácil con las versiones recientes de git (posteriores a febrero de 2010):

git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git

Vea la página man para más detalles.

Si tienes una versión anterior, prueba esto:

Como advertencia, esto funciona solo porque es el mismo servidor, solo que con nombres diferentes.

Suponiendo que el nuevo nombre de host es newhost.comy el viejo era oldhost.comel cambio es bastante simple.

Editar el .git/config archivo en su directorio de trabajo. Deberías ver algo como:

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git

Cambio oldhost.com a newhost.comguarda el archivo y listo.

De mis pruebas limitadas (git pull origin; git push origin; gitx) todo parece estar en orden. Y sí, sé que es de mala educación meterse con git internals.

  • ¿Mala forma? Quizás. pero si tu necesitar para hacer algo que los autores no esperaban que nadie tuviera que hacer, entonces a veces se requiere jugar con las partes internas. Pero tienes que estar dispuesto a aceptar las consecuencias si te equivocas. Backup your local repository _before_ messing with git internals.

    – Jesse Chisholm

    20 oct 2016 a las 15:41


  • donde puedo encontrar .git/config

    – Abdulmalek

    8 oct 2020 a las 15:36

avatar de usuario
jeremy caney

Esto es muy fácil y simple; simplemente siga estas instrucciones.

  1. Para agregar o cambiar el origen remoto:
    git remote set-url origin githubrepurl
    
  2. Para qué URL remota tiene actualmente en este repositorio local:
    git remote show origin
    

  • ¿Mala forma? Quizás. pero si tu necesitar para hacer algo que los autores no esperaban que nadie tuviera que hacer, entonces a veces se requiere jugar con las partes internas. Pero tienes que estar dispuesto a aceptar las consecuencias si te equivocas. Backup your local repository _before_ messing with git internals.

    – Jesse Chisholm

    20 oct 2016 a las 15:41


  • donde puedo encontrar .git/config

    – Abdulmalek

    8 oct 2020 a las 15:36

avatar de usuario
Comunidad

Cambio de URL remotas

Terminal abierta.

Primer paso:– Cambie el directorio de trabajo actual a su proyecto local.

2do paso:– Enumere sus controles remotos existentes para obtener el nombre del control remoto que desea cambiar.

git remote -v

origin  https://github.com/USERNAME/REPOSITORY.git (fetch)

origin  https://github.com/USERNAME/REPOSITORY.git (push)

Cambie la URL de su control remoto de HTTPS a SSH con el comando git remote set-url.

3er paso:git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

4to Paso:– Ahora Verifique que la URL remota haya cambiado.

git remote -v

Verificar nueva URL remota

origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
origin  git@github.com:USERNAME/REPOSITORY.git (push)

  • ¿Tiene que quitar el origen anterior antes de agregar el nuevo origen?

    – Trineo

    27 de febrero de 2019 a las 20:17

  • No eliminé nada del proyecto. Simplemente hago los pasos anteriores y funcionó.

    – VIKAS KOHLI

    28 de febrero de 2019 a las 7:56

¿Ha sido útil esta solución?