Agregar un repositorio remoto
Para agregar un repositorio remoto nuevo, use el comando git remote add en el terminal, dentro del directorio donde está almacenado su repositorio.
El comando git remote add toma dos argumentos:
- Un nombre remoto, por ejemplo,
origin - Una dirección URL remota, por ejemplo,
https://HOSTNAME/OWNER/REPOSITORY.git
Por ejemplo:
$ git remote add origin https://HOSTNAME/OWNER/REPOSITORY.git
# Set a new remote
$ git remote -v
# Verify new remote
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
Para obtener más información sobre la dirección URL que se debe usar, consulta Acerca de los repositorios remotos.
Solución de problemas: El origen remoto ya existe
Este error significa que trató de agregar un remote con un nombre que ya existe en su repositorio local.
$ git remote add origin https://HOSTNAME/octocat/Spoon-Knife.git
> fatal: remote origin already exists.
Para corregir esto, puedes:
- Usar un nombre diferente para el nuevo repositorio remoto.
- Renombra el repositorio remoto existente antes de que agregues el remoto nuevo. Para obtener más información, consulta Cambiar el nombre de un repositorio remoto a continuación.
- Borra el repositorio remoto existente antes de que agregues el remoto nuevo. Para obtener más información, consulta Eliminación de un repositorio remoto a continuación.
Cambiar la URL del repositorio remoto
El comando git remote set-url cambia una dirección URL del repositorio remoto existente.
Sugerencia
Para obtener información sobre la diferencia entre las direcciones URL HTTPS y SSH, consulta Acerca de los repositorios remotos.
El comando git remote set-url toma dos argumentos:
-
Un nombre remoto existente. Por ejemplo,
originoupstreamson dos opciones comunes. -
Una nueva URL para el remoto. Por ejemplo:
- Si estás actualizando para usar HTTPS, tu URL puede verse como:
https://HOSTNAME/OWNER/REPOSITORY.git- Si estás actualizando para usar SSH, tu URL puede verse como:
git@HOSTNAME:OWNER/REPOSITORY.git
Cambiar direcciones URL remotas de SSH a HTTPS
-
Abra TerminalTerminalGit Bash.
-
Cambia el directorio de trabajo actual al de tu proyecto local.
-
Lista tus remotos existentes para obtener el nombre del remoto que deseas cambiar.
$ git remote -v > origin git@HOSTNAME:OWNER/REPOSITORY.git (fetch) > origin git@HOSTNAME:OWNER/REPOSITORY.git (push) -
Cambie la dirección URL del repositorio remoto de SSH a HTTPS con el comando
git remote set-url.git remote set-url origin https://HOSTNAME/OWNER/REPOSITORY.git -
Verificar que la URL remota ha cambiado.
$ git remote -v # Verify new remote URL > origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch) > origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
La próxima vez que git fetch, git pull o git push al repositorio remoto, se le solicitará su nombre de usuario de GitHub y contraseña. Cuando Git le solicite la contraseña, escriba los datos personal access token. Como alternativa, puede usar un asistente de credenciales como Administrador de credenciales de Git. La autenticación basada en contraseña para Git se ha quitado en favor de métodos de autenticación más seguros. Para más información, consulta Administración de tokens de acceso personal.
Puede usar un asistente de credenciales para que Git recuerde su nombre de usuario de GitHub y personal access token cada vez que se comunica con GitHub.
Cambiar las URL remotas de HTTPS a SSH
-
Abra TerminalTerminalGit Bash.
-
Cambia el directorio de trabajo actual al de tu proyecto local.
-
Lista tus remotos existentes para obtener el nombre del remoto que deseas cambiar.
$ git remote -v > origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch) > origin https://HOSTNAME/OWNER/REPOSITORY.git (push) -
Cambie la dirección URL del repositorio remoto de HTTPS a SSH con el comando
git remote set-url.git remote set-url origin git@HOSTNAME:OWNER/REPOSITORY.git -
Verificar que la URL remota ha cambiado.
$ git remote -v # Verify new remote URL > origin git@HOSTNAME:OWNER/REPOSITORY.git (fetch) > origin git@HOSTNAME:OWNER/REPOSITORY.git (push)
Solución de problemas: No se encontró el repositorio remoto '[name]'
Este error significa que el remoto que trataste de cambiar no existe:
$ git remote set-url sofake https://HOSTNAME/octocat/Spoon-Knife
> fatal: No such remote 'sofake'
Comprueba que escribiste correctamente el nombre del remoto.
Renombrar un repositorio remoto
Use el comando git remote rename para cambiar el nombre de un repositorio remoto existente.
El comando git remote rename toma dos argumentos:
- Un nombre remoto existente, por ejemplo,
origin - Un nuevo nombre para el mando, por ejemplo,
destination
Ejemplo de cómo cambiar de nombre un repositorio remoto
En estos ejemplos se supone que usted va a clonar mediante HTTPS, que es la opción recomendada.
$ git remote -v
# View existing remotes
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
$ git remote rename origin destination
# Change remote name from 'origin' to 'destination'
$ git remote -v
# Verify remote's new name
> destination https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> destination https://HOSTNAME/OWNER/REPOSITORY.git (push)
Solución de problemas: No se pudo renombrar la sección de configuración 'remote.[old name]' a 'remote.[new name]'
Este error significa que el nombre remoto antiguo que tecleaste ya no existe.
Comprueba qué remotos existen actualmente con el comando git remote -v.
$ git remote -v
# View existing remotes
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
Solución de problemas: El control remoto [nuevo nombre] ya existe
Este error significa que el nombre del remoto que quieres utilizar ya existe. Para resolver esto, puedes ya sea utilizar un nombre diferente para el remoto o renombrar el remoto original.
Eliminar un repositorio remoto
Usa el comando git remote rm para quitar una URL de tu repositorio.
El comando git remote rm toma un argumento:
- Un nombre remoto, por ejemplo,
destination
El eliminar la URL remota de tu repositorio únicamente desenlazará los repositorios remoto y local. Esto no borra el repositorio remoto.
Ejemplo de cómo eliminar un repositorio remoto
En estos ejemplos se supone que va a clonar mediante HTTPS, que es la opción recomendada.
$ git remote -v
# View current remotes
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
> destination https://HOSTNAME/FORKER/REPOSITORY.git (fetch)
> destination https://HOSTNAME/FORKER/REPOSITORY.git (push)
$ git remote rm destination
# Remove remote
$ git remote -v
# Verify it's gone
> origin https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin https://HOSTNAME/OWNER/REPOSITORY.git (push)
Nota:
`git remote rm` no elimina el repositorio remoto del servidor. Simplemente elimina del repositorio local el repositorio remoto y sus referencias.
Solución de problemas: No se pudo eliminar la sección de configuración 'remote.[name]'
Este error significa que el remoto que trataste de eliminar no existe:
$ git remote rm sofake
> error: Could not remove config section 'remote.sofake'
Comprueba que escribiste correctamente el nombre del remoto.
Información adicional
-
["Trabajando con Remotos" del libro _Pro Git_](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes)