Skip to main content

Obtener cambios de un repositorio remoto

Puedes usar los comandos Git más frecuentes para acceder a repositorios remotos.

Opciones para obtener cambios

Estos comandos son muy útiles al interactuar con un repositorio remoto. clone y fetch descargan código remoto desde la dirección URL remota de un repositorio al equipo local, merge se usa para combinar el trabajo de diferentes personas con el suyo, y pull es una combinación de fetch y merge.

Clonar un repositorio

Para obtener una copia completa del repositorio de otro usuario, use git clone de esta forma:

$ git clone https://github.com/USERNAME/REPOSITORY.git
# Clones a repository to your computer

Puede elegir entre varias direcciones URL diferentes al clonar un repositorio. Mientras esté registrado en GitHub, estas direcciones URL están disponibles en la página principal del repositorio al hacer clic en Código .

Captura de pantalla de la página principal de un repositorio. Un botón verde, con la etiqueta "Código", se destaca en naranja oscuro y se expande para mostrar la dirección URL HTTPS del repositorio.

Al ejecutar git clone, tienen lugar las siguientes acciones:

  • Se crea una carpeta con el nombre repo
  • Esta carpeta se inicializa como un repositorio de Git.
  • Se crea un repositorio remoto denominado origin, que apunta a la dirección URL desde la que ha realizado la clonación
  • Todos los archivos y confirmaciones del repositorio se descargan aquí.
  • La rama predeterminada está desmarcada

Para cada rama foo del repositorio remoto, se crea una rama refs/remotes/origin/foo de seguimiento remoto correspondiente en el repositorio local. Normalmente, puede abreviar estos nombres de rama de seguimiento remoto a origin/foo.

Extraer cambios de un repositorio remoto

Use git fetch para recuperar el nuevo trabajo realizado por otras personas. Al capturar desde un repositorio se obtienen todas las ramas de seguimiento remoto nuevas y etiquetas sin combinar estos cambios en las ramas propias.

Si ya tiene un repositorio local con una URL remota configurada para el proyecto deseado, puede capturar toda la información nueva si usa git fetch *remotename* en el terminal:

$ git fetch REMOTE-NAME
# Fetches updates made to a remote repository

De otra forma, siempre puedes agregar un remoto nuevo y luego recuperarlo. Para obtener más información, vea «Administrar repositorios remotos».

Fusionar cambios en tu rama local

La fusión combina tus cambios locales con los cambios realizados por otros.

Por lo general, fusionas una rama de seguimiento remoto (es decir, una rama extraída desde un repositorio remoto) con tu rama local:

$ git merge REMOTE-NAME/BRANCH-NAME
# Merges updates made online with your local work

Extraer cambios de un repositorio remoto

git pull es un método abreviado útil para completar git fetch y git mergeen el mismo comando:

$ git pull REMOTE-NAME BRANCH-NAME
# Grabs online updates and merges them with your local work

Como pull realiza una combinación en los cambios recuperados, debe asegurarse de que el trabajo local se confirma antes de ejecutar el comando pull. Si se produce un conflicto de combinación que no puede resolver, o si decide salir de la combinación, puede usar git merge --abort para restaurar la rama al estado que tenía antes de extraerla.

Información adicional