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 .
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 merge
en 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.