Agregar un repositorio remoto
Para agregar un remoto nuevo, utiliza el comando git remote add
en la terminal, en el directorio en el cual está almacenado tu repositorio.
El comando git remote add
toma dos argumentos:
- Un nombre remoto, por ejemplo,
origin
- Una URL remota, por ejemplo,
https://[hostname]/user/repo.git
Por ejemplo:
$ git remote add origin https://nombre de host/user/repo.git
# Set a new remote
$ git remote -v
# Verify new remote
> origin https://nombre de host/user/repo.git (fetch)
> origin https://nombre de host/user/repo.git (push)
Para obtener más información sobre qué URL utilizar, consulta la sección "Acerca de los repositorios remotos".
Solución de problemas: El origen remoto ya existe
Este error significa que trataste de agregar un remoto con un nombre que ya existe en tu repositorio local.
$ git remote add origin https://nombre de host/octocat/Spoon-Knife.git
> fatal: remote origin already exists.
Para arreglar esto, puedes:
- Usar un nombre diferente para el nuevo remoto.
- Renombra el repositorio remoto existente antes de que agregues el remoto nuevo. Para obtener más información, consulta la sección "Renombrar 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 la sección "Eliminar un repositorio remoto" a continuación.
Cambiar la URL del repositorio remoto
El comando git remote set-url
cambia una URL existente de repositorio remoto.
Tip: Para obtener más información sobre la diferencia entre las URL de HTTPS y SSH, consulta la sección "Acerca de los repositorios remotos".
El comando git remote set-url
toma dos argumentos:
- Un nombre de remoto existente. Por ejemplo,
origin
oupstream
son dos de las opciones comunes. - Una nueva URL para el remoto. Por ejemplo:
- Si estás actualizando para usar HTTPS, tu URL puede verse como:
https://[hostname]/USERNAME/REPOSITORY.git
- Si estás actualizando para usar SSH, tu URL puede verse como:
git@nombre de host:USERNAME/REPOSITORY.git
- Si estás actualizando para usar HTTPS, tu URL puede verse como:
Cambiar direcciones URL remotas de SSH a HTTPS
- Abre la TerminalTerminalGit Bash.
- Cambiar el directorio de trabajo actual en tu proyecto local.
- Enumerar tus remotos existentes a fin de obtener el nombre de los remotos que deseas cambiar.
$ git remote -v > origin git@nombre de host:USERNAME/REPOSITORY.git (fetch) > origin git@nombre de host:USERNAME/REPOSITORY.git (push)
- Cambiar tu URL remota de SSH a HTTPS con el comando
git remote set-url
.$ git remote set-url origin https://nombre de host/USERNAME/REPOSITORY.git
- Verificar que la URL remota ha cambiado.
$ git remote -v # Verify new remote URL > origin https://nombre de host/USERNAME/REPOSITORY.git (fetch) > origin https://nombre de host/USERNAME/REPOSITORY.git (push)
La próxima vez que ejecutes git
, git pull
o git push
en el repositorio remoto, se te pedirá el nombre de usuario y la contraseña de GitHub. Cuando Git pide tu contraseña, ingresa tu token de acceso personal (PAT) en su lugar. Se ha eliminado la autenticación con contraseña para Git y es más seguro utilizar un PAT. Para obtener más información, consulta la sección "Crear un token de acceso personal".
Puedes utilizar un ayudante de credenciales para que Git recuerde tu nombre de usuario y token de acceso personal cada vez que se comunique con GitHub.
Cambiar las URL remotas de HTTPS a SSH
- Abre la TerminalTerminalGit Bash.
- Cambiar el directorio de trabajo actual en tu proyecto local.
- Enumerar tus remotos existentes a fin de obtener el nombre de los remotos que deseas cambiar.
$ git remote -v > origin https://nombre de host/USERNAME/REPOSITORY.git (fetch) > origin https://nombre de host/USERNAME/REPOSITORY.git (push)
- Cambiar tu URL remota de HTTPS a SSH con el comando
git remote set-url
.$ git remote set-url origin git@nombre de host:USERNAME/REPOSITORY.git
- Verificar que la URL remota ha cambiado.
$ git remote -v # Verify new remote URL > origin git@nombre de host:USERNAME/REPOSITORY.git (fetch) > origin git@nombre de host:USERNAME/REPOSITORY.git (push)
Solución de problemas: No existe tal remoto '[name]'
Este error significa que el remoto que trataste de cambiar no existe:
$ git remote set-url sofake https://nombre de host/octocat/Spoon-Knife
> fatal: No such remote 'sofake'
Comprueba que escribiste correctamente el nombre del remoto.
Renombrar un repositorio remoto
Utiliza el comando git remote rename
para renombrar un remoto existente.
El comando git remote rename
toma dos argumentos:
- Un nombre de remoto existente, por ejemplo,
origen
- Un nombre nuevo para el remoto, por ejemplo,
destino
Ejemplo
Estos ejemplos asumen que estásclonando con HTTPS, lo cual se recomienda.
$ git remote -v
# Ver remotos existentes
> origin https://nombre de host/OWNER/REPOSITORY.git (fetch)
> origin https://nombre de host/OWNER/REPOSITORY.git (push)
$ git remote rename origin destination
# Cambiar el nombre del remoto de 'origen' a 'destino'
$ git remote -v
# Verificar el nombre nuevo del remoto
> destination https://nombre de host/OWNER/REPOSITORY.git (fetch)
> destination https://nombre de host/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.
Puedes verificar los remotos que existen actualmente con el comando git remote -v
:
$ git remote -v
# Ver remotos existentes
> origin https://nombre de host/OWNER/REPOSITORY.git (fetch)
> origin https://nombre de host/OWNER/REPOSITORY.git (push)
Solución de problemas: Ya existe el Remoto [new name]
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
Utiliza el comando git remote rm
para eliminar una URL remota de tu repositorio.
El comando git remote rm
toma un argumento:
- El nombre de un remoto, por ejemplo
destination
(destino)
El eliminar la URL remota de tu repositorio únicamente desenlazará los repositorios remoto y local. Esto no borra el repositorio remoto.
Ejemplo
Estos ejemplos asumen que estásclonando con HTTPS, lo cual se recomienda.
$ git remote -v
# Ver los remotos actuales
> origin https://nombre de host/OWNER/REPOSITORY.git (fetch)
> origin https://nombre de host/OWNER/REPOSITORY.git (push)
> destination https://nombre de host/FORKER/REPOSITORY.git (fetch)
> destination https://nombre de host/FORKER/REPOSITORY.git (push)
$ git remote rm destination
# Eliminar remoto
$ git remote -v
# Verificar que se haya ido
> origin https://nombre de host/OWNER/REPOSITORY.git (fetch)
> origin https://nombre de host/OWNER/REPOSITORY.git (push)
Nota: git remote rm
no borra el repositorio remoto del servidor. Simplemente, elimina de tu repositorio local el 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: No se pudo eliminar la sección de configuración 'remote.sofake'
Comprueba que escribiste correctamente el nombre del remoto.