El comando Git fetch en Git


Lección 37 / 53

El comando Git fetch en Git

Git Guía Git Guía Git español

Hemos visto cómo Git permite que cada repositorio realice un seguimiento de los repositorios (remotos) a los que está conectado a través del comando remoto git.

La sincronización de cambios entre diferentes repositorios se realiza mediante otros comandos, cada uno de los cuales tiene su propia responsabilidad específica.

El comando Git fetch en Git

El propósito de git fetch es descargar commit, ramas y etiquetas desde un repositorio remoto al repositorio local. Los nuevos contenidos recuperados a través de git fetch deberían aplicarse explícitamente a la propia working copy, lo que hace que la ejecución de este comando sea una operación segura para recuperar nuevos commit, sin tener que aplicarlos necesariamente a su trabajo en curso.

Supongamos que ayer clonamos un repositorio remoto que solo tenía la rama principal y esa rama contenía tres commit. Por lo tanto, mi copia local sabe que está "conectada" al repositorio remoto indicado como origen y mi working copy ha extraído el último commit de la única rama presente, conectando la rama local principal con la rama correspondiente con el mismo nombre en origen.

❯ git branch -vv
* main c7ed69f [origin/main] implemented first feature

Otro colaborados ha agregado algunos commit en main y ha creado un nuevo branch.

$ git fetch
c7ed69f..45e66a4 main -> origin/main
* [new branch] some-feature -> origin/some-feature

$ git status
On branch main
Your branch is behind 'origin/main' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)

Los nuevos commit y la nueva rama ahora también están disponibles en el repositorio local, pero no se han aplicado. Esto se debe a que, aunque todos los commit, tanto locales como remotas, ahora están presentes en el repositorio local, Git mantiene los commit de los branch locales separados de los branch remotos.

 

Commit locali e remoti

Commit locales y remotos

 

Será posible ver cuales commit han sido añadidos a origin/master a través git log y aplicar nuevos commit al propio branch local a través de git merge.

$ git log --oneline main..origin/main
22596179 (origin/main, origin/HEAD) new commit two
f8986356 new commit one

$ git merge origin/main
Updating c7ed69f..45e66a4
Fast-forward

 

Post merge

Post merge

 

Más adelante veremos qué hacer en el caso de que se hayan agregado commit a la propia versión local.

Guía Git en español 1 ¿Qué es Git? 2 Nacimiento de Git 3 Principales características de Git 4 Línea de comando UI en Git 5 Cómo instalar Git 6 5 comandos Git para desarrolladores individuales 7 5 comandos Git para desarrollar en colaboración 8 Repository en Git 9 Commit en Git 10 Working Copy en Git 11 Staging Area en Git 12 Branch en Git 13 Remote en Git 14 Inicializar un nuevo repository con git init 15 Crear una copia de un repository remoto en Git con git clone 16 Configurar las opciones de Git con git config 17 El comando Git add en Git 18 El comando Git commit en Git 19 El comando Git diff en Git 20 El comando Git stash en Git 21 .gitignore : los archivos ignored en Git 22 El comando Git status en Git 23 El comando Git log en Git 24 El comando Git tag en Git 25 El comando Git blame en Git 26 El comando Git checkout en Git 27 El comando Git revert en Git 28 El comando Git reset en Git 29 El comando Git rm en Git 30 La opción Git commit –amend en Git 31 Git rebase –interactive en Git 32 Atajos para comandos frecuentes en Git 33 Repository compartido en Git 34 El modelo Fork & pull 35 El comando Git remote en Git 36 Los principales repository remote de Git: Github, Gitlab y Bitbucket 37 El comando Git fetch en Git 38 El comando Git push en Git 39 El comando Git pull en Git 40 El comando Git branch en Git 41 El comando Git checkout en Git 42 El comando Git merge en Git 43 Resolver un merge conflict en Git 44 Entender mejor el contenido de los commit durante un conflicto de merge en Git 45 Workflow Git centralizado 46 Workflow Git feature branching 47 Workflow Git trunk-based 48 Enfoque “forking” en Git 49 Gitflow en Git 50 Mensajes de commit en Git 51 Tagging & Versioning en Git 52 La opción merge en Git 53 La opción rebase en Git

© 2022 Aulab. Todos los derechos reservados • P.IVA: IT07647440721 • Política de privacidad