Breaking

Post Top Ad

Your Ad Spot

viernes, 14 de junio de 2019

Git: Cambiar URL de Repo Remoto

Aunque al principio pensé que es muy raro que un repositorio remoto cambie de ubicación, en realidad sucede mucho más de lo que creía. Un repositorio remoto puede cambiar de un servidor privado a otro (como un NAS), de un repositorio personal de GitHub 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 voy a cubrir.
Primero, vamos directamente al comando para el que estás aquí:
$ git remote set-url <remote-repo> <remote-repo-url>
Por lo tanto, si desea cambiar la URL de "origen" a una nueva URL en mi cuenta de GitHub, el comando podría tener este aspecto:
$ git remote set-url origin https://github.com/scottwrobinson/foobar.git
Luego, puede verificar que la URL se ha actualizado utilizando el remotecomando con la -vopció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)  

Configuración de diferentes reposiciones para Fetch y Push

Como se puede ver en la salida de remote -v, se muestran dos líneas, una correspondiente a fetchy otra para pushEsto significa que también puede establecer diferentes URL dependiendo del comando que esté ejecutando.
Un ejemplo de este caso de uso es si ha bifurcado el repositorio de alguien y desea continuar recibiendo actualizaciones de ellos, pero entonces solo desea impulsar cambios a su versión bifurcada. Aquí es cómo manejarías eso:
$ git remote set-url <remote-repo> <original-repo-url>
$ git remote set-url --push <remote-repo> <forked-repo-url>
Observe que el segundo comando usa la --pushopción, que le dice a Git que solo establezca esa URL para los pushcomandos. 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
Observe que el repositorio remoto se denomina "origen" para ambos y que solo la URL es diferente. En este ejemplo, https://github.com/scottwrobinson/foobar.gites la versión bifurcada.
Nuevamente, al ejecutar el remote -vcomando 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 Protocolos Diferentes

Otra cosa que quería señalar es que en todos los ejemplos anteriores solo mostré las URL de HTTPS, aunque se puede usar cualquier URL de Git válida. Git admite una gran cantidad de tipos de URL, algunos de los cuales puede encontrar aquí:
ssh://user@host.com/path/to/repo.git  
git://host.com/path/to/repo.git  
https://host.com/path/to/repo.git  
file:///path/to/repo.git  
Por lo tanto, si por alguna razón desea obtener un repositorio remoto en GitHub, pero solo debe enviar sus cambios a otro repositorio accesible desde su sistema de archivos, entonces Git es lo suficientemente flexible para que lo haga:
$ git remote set-url origin git@github.com:example/foobar.git
$ git remote set-url --push origin file://~/projects/foobar.git

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas