Skip to main content

Enterprise Server 3.20 actualmente está disponible como versión candidata para lanzamiento.

Administrar repositorios remotos

Aprende a trabajar con tus repositorios locales en tu ordenador y repositorios remotos alojados en GitHub.

Platform navigation

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, origin o upstream 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/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

  1. Abra TerminalTerminalGit Bash.

  2. Cambia el directorio de trabajo actual al de tu proyecto local.

  3. 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)
    
  4. 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
    
  5. 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

  1. Abra TerminalTerminalGit Bash.

  2. Cambia el directorio de trabajo actual al de tu proyecto local.

  3. 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)
    
  4. 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
    
  5. 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)