Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2024-03-26. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Administrar repositorios remotos

Aprende a trabajar con tus repositorios locales en tu computadora y repositorios remotos alojados en GitHub Enterprise Server.

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 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 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 de 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. Cambiar el directorio de trabajo actual en tu proyecto local.

  3. Enumerar tus remotos existentes a fin de obtener el nombre de los remotos 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 en el repositorio remoto, se le pedirá el nombre de usuario y la contraseña de GitHub. 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 obtener más información, vea «Administración de tokens de acceso personal».

Puedes usar un asistente de credenciales para que Git recuerde tu nombre de usuario de GitHub y el personal access token cada vez que se comunique con GitHub.

Cambiar las URL remotas de HTTPS a SSH

  1. Abra TerminalTerminalGit Bash.

  2. Cambiar el directorio de trabajo actual en tu proyecto local.

  3. Enumerar tus remotos existentes a fin de obtener el nombre de los remotos 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 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 de cómo cambiar de nombre un repositorio remoto

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 de cómo eliminar un repositorio remoto

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.

Información adicional