git remote
Definición
El comando git remote está diseñado para crear, ver y eliminar conexiones con otros repositorios. Las conexiones remotas actúan como marcadores de otros repositorios, proporcionando nombres convenientes para referenciar URL que, de otro modo, serían engorrosas.
El diagrama de abajo muestra dos conexiones remotas: una a un repositorio central y otra al repositorio de otro desarrollador. Puedes compartir el nombre remoto con otro desarrollador, permitiéndole usarlo como atajo en otros comandos de Git. Como resultado, no tendrás que referenciar las conexiones por sus URL completas.

Creación y edición de configuraciones de git remote
El comando git remote también se usa para editar el archivo ./.git/config del repositorio. Puedes hacerlo ejecutando los comandos de abajo:
- Usa el comando de abajo para añadir una nueva conexión remota a un repositorio remoto. Luego puedes usar
<name>como un atajo apropiado para<url>en otros comandos de Git.
git remote add
git remote add <name> <url>- Ejecuta el siguiente comando para eliminar la conexión al repositorio remoto, que se llama
<name>.
git remote rm
git remote rm <name>- Ejecuta el comando de abajo para cambiar el nombre de una conexión remota:
git remote rename
git remote rename <old> <new>- Usa el comando de abajo para cambiar la URL de un remoto existente:
git remote set-url
git remote set-url <name> <new-url>Puedes lograr el mismo resultado editando directamente el archivo ./.git/config con un editor de texto.
El remoto origin
Ejecutar el comando git clone crea automáticamente una conexión remota llamada origin, que apunta al repositorio clonado. Una copia local facilita obtener cambios ascendentes o publicar commits locales. Por eso el repositorio central en muchos proyectos se llama origin.
URL de repositorios
Hay muchas formas de referenciar un repositorio remoto, pero las dos más simples se consideran a través de los protocolos HTTPS y SSH. Las URL HTTPS se usan comúnmente para acceso de solo lectura o cuando se combinan con ayudantes de credenciales o tokens de acceso personal para la autenticación.
Formato de URL HTTPS
http://host/path/to/repo.gitUsa SSH para acceso de lectura y escritura. Necesitas una cuenta SSH válida. Ten en cuenta que los requisitos de acceso dependen de los permisos del repositorio; los repositorios públicos permiten acceso sin autenticación, mientras que los privados requieren autenticación. Las soluciones modernas y seguras de alojamiento de terceros, por ejemplo, Bitbucket.com, pueden proporcionar estas URL:
Formato de URL SSH
ssh://user@host/path/to/repo.gitTambién puedes usar la sintaxis tipo SCP, ampliamente compatible:
user@host:path/to/repo.gitSubcomandos de git remote
El comando git remote tiene sus propios subcomandos. Los examinaremos a continuación.
git remote add <name> <url>
Añade un registro al archivo ./.git/config para un remoto llamado <name> que apunta a <url>. Acepta la opción -f, que ejecuta inmediatamente git fetch <name> después de crear el registro remoto. Otra opción aceptada por este subcomando es --tags, que ejecutará inmediatamente git fetch <name> e importará todas las etiquetas del repositorio remoto.
git remote add <name> <url>git remote rename <old> <new>
Actualiza ./.git/config para cambiar el nombre de <old> a <new>. Todas las configuraciones y ramas del remoto se actualizan en consecuencia.
git remote rename <old> <new>git remote remove or rm
Elimina el remoto llamado <name> de ./.git/config. Se eliminan todas las configuraciones y ramas asociadas.
git remote rm <name>git remote set-url <name> <new-url>
Cambia la URL de un registro remoto existente en ./.git/config.
git remote set-url <name> <new-url>git remote get-url <name>
Muestra las URL de un registro remoto. Este subcomando acepta las opciones --push y --all.
git remote get-url <name>git remote show <name>
Muestra información detallada sobre el remoto <name>.
git remote show <name>git remote prune <name>
Elimina las ramas de seguimiento remoto de <name> que ya no existen en el remoto. Este subcomando acepta la opción --dry-run, que lista las ramas que se han marcado para ser podadas, pero en realidad no las poda.
git remote prune <name>Ejemplos de git remote
Conectarse a los repositorios de otros desarrolladores permite colaborar fuera del repositorio central. Por ejemplo, si un colega mantiene un repositorio de acceso público en dev.example.com/tom.git, puedes añadirlo así:
git remote add <name> <url>
git remote add tom http://dev.example.com/tom.gitMostrar tus remotos
De forma predeterminada, git remote enumera todas las conexiones remotas configuradas. La salida muestra una sola línea por cada repositorio marcado.
el comando git remote
git remote
origin
upstream
other_repoPuedes invocar el comando git remote con la opción -v, que mostrará los nombres de los repositorios marcados junto con la URL del repositorio correspondiente.
git remote -v
git remote -v
origin [email protected]:origin_user/reponame.git (fetch)
origin [email protected]:origin_user/reponame.git (push)
upstream https://example.com/upstream_user/reponame.git (fetch)
upstream https://example.com/upstream_user/reponame.git (push)
other_repo https://example.com/other_repo/reponame.git (fetch)
other_repo https://example.com/other_repo/reponame.git (push)Añadir repositorios remotos
Ejecutar git remote add crea un nuevo registro de conexión en ./.git/config. Luego <name> sirve como atajo para <url> en otros comandos de Git.
git remote add example
git remote add fake_test https://example.com/upstream_user/reponame.gitInspeccionar un remoto
Añadir el subcomando show proporciona una salida detallada de la configuración, incluidas las ramas conectadas y los extremos de fetch/push.
git remote show
git remote show upstream
* remote upstream
Fetch URL: https://example.com/upstream_user/reponame.git
Push URL: https://example.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
simd-deprecated tracked
tutorial tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)Obtener y hacer pull desde remotos de Git
Una vez configurado un remoto, su nombre puede usarse como argumento para otros comandos de Git para establecer comunicación con el repositorio remoto. Puedes usar los comandos git fetch y git pull para leer desde un repositorio remoto.
Hacer push a remotos de Git
El comando git push escribe en un repositorio remoto.
git push <remote-name> <branch-name>
git push <remote-name> <branch-name>Práctica
¿Cuáles son las afirmaciones correctas sobre el comando `git remote` según se describe en el tutorial de Git de W3Docs?