Quali sono le differenze tra “git pull” e “git fetch”?

di Lorenzo Neri
0 commento 129 visualizzazioni

Senza usare troppo tecnichese, lanciando un “git pull” questo esegue un “git fetch” seguito in automatico da un “git merge”.

In questo articolo vedremo assieme quali sono le differenze tra “git pull” e “git fetch”.

Ricordiamoci innanzitutto: cosa fa “git pull”?

Questo comando all’interno del VCS basato su GIT, integra i cambiamenti di un repository remoto all’interno del branch in cui si sta lavorando.

Cosa fa invece “git fetch”?

Eseguendo “git fetch” scaricheremo i branch e/o i tags (a seconda delle nostre preferenze) da uno o più repository remoti.

Perciò, qual è la vera differenza tra “git pull” e “git fetch”?

È abbastanza semplice: “git fetch” non cambia alcuno dei branch locali posti sotto “refs/heads”. In altre parole puoi eseguire periodicamente “git fetch” senza dover cambiare la tua copia locale di lavoro.

“git fetch” diventa un modo sicuro per evitare di sovrascrivere la copia locale del repository.

“git pull” invece, esegue un aggiornamento completo della copia locale del tuo repository, allineandola con la versione remota.

Tutti i cambiamenti presenti sul repository remoto, vengono replicati su quello locale.

Il rischio qual è?

Se non stai attento, rischi di cancellare (potenzialmente) ore o addirittura giorni di lavoro!

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più