Git: cambiar la URL del repositorio remoto

    Si bien inicialmente pens茅 que es muy raro que un repositorio remoto cambie de ubicaci贸n, en realidad sucede mucho m谩s de lo que pensaba. Un repositorio remoto puede cambiar de un servidor privado a otro (como un NAS), de un repositorio de GitHub personal a uno en una organizaci贸n, o incluso de GitHub a GitLab.

    Cuando esto suceda, deber谩 cambiar la URL de su repositorio remoto en su repositorio local. En este breve art铆culo, eso es exactamente lo que cubrir茅.

    Primero, vayamos directamente al comando para el que est谩s aqu铆:

    $ git remote set-url <remote-repo> <remote-repo-url>
    

    Entonces, si desea cambiar la URL de “origen” a una nueva URL en mi cuenta de GitHub, el comando podr铆a verse as铆:

    $ git remote set-url origin https://github.com/scottwrobinson/foobar.git
    

    Luego, puede verificar que la URL se haya actualizado utilizando el remote comando con el -v opci贸n, que es la abreviatura de --verbose:

    $ git remote -v
    origin  https://github.com/scottwrobinson/foobar.git (fetch)
    origin  https://github.com/scottwrobinson/foobar.git (push)
    

    Establecer diferentes reposiciones para Fetch y Push

    Como puede ver en la salida de remote -v, se muestran dos l铆neas, una perteneciente a fetch y uno para push. Esto significa que tambi茅n puede establecer diferentes URL seg煤n el comando que est茅 ejecutando.

    Un ejemplo de este caso de uso es si ha bifurcado el repositorio de alguien y desea continuar obteniendo actualizaciones de ellos, pero luego solo desea enviar cambios a su versi贸n bifurcada. As铆 es como manejar铆as eso:

    $ git remote set-url <remote-repo> <original-repo-url>
    $ git remote set-url --push <remote-repo> <forked-repo-url>
    

    Note que el segundo comando usa el --push opci贸n, que le dice a Git que solo configure esa URL para push comandos. En la pr谩ctica, la ejecuci贸n del comando se ver铆a as铆:

    $ git remote set-url origin https://github.com/example/foobar.git
    $ git remote set-url --push origin https://github.com/scottwrobinson/foobar.git
    

    Tenga en cuenta que el repositorio remoto se denomina “origen” para ambos, y solo la URL es diferente. En este ejemplo, https://github.com/scottwrobinson/foobar.git es la versi贸n bifurcada.

    De nuevo, ejecutando el remote -v comando podemos verificar que la URL se ha cambiado correctamente:

    $ git remote -v
    origin  https://github.com/example/foobar.git (fetch)
    origin  https://github.com/scottwrobinson/foobar.git (push)
    

    Usando diferentes protocolos

    Otra cosa que quer铆a se帽alar es que en todos los ejemplos anteriores solo mostraba URL HTTPS, aunque se puede usar cualquier URL Git v谩lida. Git admite una gran cantidad de tipos de URL, algunos de los cuales puede encontrar aqu铆:

    ssh://[email聽protected]/path/to/repo.git
    git://host.com/path/to/repo.git
    https://host.com/path/to/repo.git
    file:///path/to/repo.git
    

    Entonces, si por alguna raz贸n desea extraer de un repositorio remoto en GitHub, pero luego solo enviar sus cambios a otro repositorio accesible desde su sistema de archivos, entonces Git es lo suficientemente flexible para que pueda hacerlo:

    $ git remote set-url origin [email聽protected]:example/foobar.git
    $ git remote set-url --push origin file://~/projects/foobar.git
    

     

    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *