Differenze tra git fetch e git pull

Un git pull è banalmente un git fetch che viene successivamente seguito da un git merge.

Quando uso un git fetch, git raccoglie tutti i commit da un branch che non esiste nel tuo branch di riferimento e li salva nella repository locale (che è la cartella .git/). Questo però senza fare il merge di tale branch remoto con il mio branch attuale (non modifica nulla nell’working tree, che è tutto ciò che non in .git/).

Questo comportamento è particolarmente utile quando voglio mantenere la mia repository aggiornata, ma il lavoro che sto facendo potrebbe rompere qualcosa se io unissi il contenuto remoto con il contenuto locale. Per integrare i commit scaricati al mio branch, devo eseguire un git merge.

Quando uso il git pull invece, git prova automaticamente a fare il merge dei commit recuperati tramite il fetch nel mio branch locale (quindi prima aggiorna la local repository .git/ e successivamente anche il working tree), senza prima farmi vedere quello che sta effettivamente unendo. A meno che non abbia una frequente analisi dei branch, il pull può portare a numerosi conflitti.

Indice

Share
Ultimi articoli
Join

Newsletter

Nessuno spam, solo articoli interessanti ;)

Focus

Post correlati

git

Git merge e git rebase

Le differenze tra git merge e rebase è un punto dubbio per gli sviluppatori alle prime armi con git. Per spiegare la differenza tra questi

Codice Pragmatico

Contatti

Per informazioni, dubbi o consulenze non esitate a contattarmi.

Lascia un messaggio

Ricevi le ultime news

Iscrivi alla newsletter

Solo articoli interessanti, promesso ;)