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]/user/repo.git
Por ejemplo:
$ git remote add origin https://hostname/user/repo.git
# Set a new remote
$ git remote -v
# Verify new remote
> origin https://hostname/user/repo.git (fetch)
> origin https://hostname/user/repo.git (push)
Para obtener más información sobre la dirección URL que se va a usar, consulte "Acerca de los repositorios remotos".
Solución de problemas: El origen remoto ya existe
Este error significa que trató de agregar un repositorio remoto 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, consulte "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, consulte "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, consulte "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 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@hostname:USERNAME/REPOSITORY.git
- Si estás actualizando para usar HTTPS, tu URL puede verse como:
Cambiar direcciones URL remotas de SSH a HTTPS
- Abra 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@hostname:USERNAME/REPOSITORY.git (fetch) > origin git@hostname:USERNAME/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/USERNAME/REPOSITORY.git
- Verificar que la URL remota ha cambiado.
$ git remote -v # Verify new remote URL > origin https://hostname/USERNAME/REPOSITORY.git (fetch) > origin https://hostname/USERNAME/REPOSITORY.git (push)
La próxima vez que git fetch
, git pull
o git push
en el repositorio remoto, se le pedirá el nombre de usuario y la contraseña de GitHub. Cuando Git solicite tu contraseña, escribe el token de acceso personal (PAT). También puedes usar un asistente de credenciales como el 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 obtener más información, consulta «Creación de un token de acceso personal».
Puede usar un asistente de credenciales para que Git recuerde su nombre de usuario y el token de acceso personal de GitHub cada vez que se comunique con GitHub.
Cambiar las URL remotas de HTTPS a SSH
- Abra 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://hostname/USERNAME/REPOSITORY.git (fetch) > origin https://hostname/USERNAME/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:USERNAME/REPOSITORY.git
- Verificar que la URL remota ha cambiado.
$ git remote -v # Verify new remote URL > origin git@hostname:USERNAME/REPOSITORY.git (fetch) > origin git@hostname: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://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 de repositorio remoto existente, por ejemplo,
origin
- Un nuevo nombre para el repositorio remoto, por ejemplo,
destination
Ejemplo
En estos ejemplos se supone que va a clonar mediante HTTP, 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.
Puede comprobar qué repositorios remotos existen 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: 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
Use el comando git remote rm
para quitar la dirección URL de un repositorio remoto del repositorio.
El comando git remote rm
toma un argumento:
- Un nombre de repositorio 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
En estos ejemplos se supone que va a clonar mediante HTTP, 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.