Git: cambiar la URL del repositorio remoto

G

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

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad