Il comando git pull consente di scaricare i contenuti da un re­po­si­to­ry remoto, eseguendo au­to­ma­ti­ca­men­te un merge. Esistono inoltre diversi argomenti che spe­ci­fi­ca­no ul­te­rior­men­te il comando.

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Cos’è git pull?

Git consente ai membri di un team di lavorare con­tem­po­ra­nea­men­te allo stesso progetto. Questo è possibile grazie alla presenza di diversi re­po­si­to­ry, sui quali gli svi­lup­pa­to­ri e le svi­lup­pa­tri­ci possono lavorare in modo autonomo prima che le modifiche utili e im­por­tan­ti tornino a confluire nel progetto prin­ci­pa­le. Tuttavia, affinché questo principio venga applicato con risultati ottimali, è im­por­tan­te che la base sia identica in ogni re­po­si­to­ry locale. Solo quando il punto di partenza è uguale, è possibile integrare eventuali modifiche. Per questo il comando Git git pull è uno strumento im­por­tan­te per lavorare con il sistema di controllo delle versioni.

Git pull consente di scaricare i dati da un re­po­si­to­ry remoto e suc­ces­si­va­men­te di ag­gior­na­re il re­po­si­to­ry locale. In questo modo sarete sicuri di lavorare sempre sulla versione ag­gior­na­ta dei file. Dopo aver lavorato sul vostro re­po­si­to­ry locale potete caricare le modifiche sul re­po­si­to­ry remoto con il comando git push. Par­ti­co­lar­men­te im­por­tan­te è l’uso di git pull e git push quando più utenti lavorano sullo stesso progetto ed è ne­ces­sa­rio disporre sempre della versione più attuale. In questo senso git pull esegue una specie di ag­gior­na­men­to.

Consiglio

Oltre a Git esistono altri programmi di gestione delle versioni. A tal proposito leggete il nostro confronto fra Git e SVN.

Sintassi e fun­zio­na­men­to di git pull

La sintassi di git pull, di­spo­ni­bi­le anche nella nostra pratica guida “Git Cheat Sheet” da scaricare in PDF, si riduce al comando vero e proprio e contiene l’in­for­ma­zio­ne relativa al re­po­si­to­ry remoto che dovrà essere scaricato. Questo il comando:

git pull < repository remoto>

Il fun­zio­na­men­to di git pull può essere spiegato meglio alla luce di altri due comandi Git, che in questo caso vengono pra­ti­ca­men­te svolti uno dopo l’altro. Anzitutto, come nel caso di git fetch, si specifica un re­po­si­to­ry remoto, che viene scaricato con tutti i contenuti attuali. Quindi si esegue git merge, che serve a unire la copia remota e la copia locale. Se nor­mal­men­te i due comandi “git fetch <re­po­si­to­ry remoto>” e “git merge origin/ <branch attuale>” do­vreb­be­ro essere eseguiti uno dopo l’altro, git pull provvede a unirli, ri­spar­mian­do­vi quindi un passaggio.

Varianti del comando

Oltre alla versione standard di git pull descritta sopra, esistono altri modi per eseguire questo utile comando. Ve li pre­sen­tia­mo di seguito.

Git pull senza merge

Potete ampliare il classico git pull in modo tale da scaricare i contenuti del re­po­si­to­ry remoto, ma senza che Git esegua un nuovo merge. Questo il comando:

git pull --no-commit <repository remoto=""></repository>

Git pull con rebase

In questa variante, git pull provvede a scaricare tutti i contenuti del re­po­si­to­ry remoto, ma invece di eseguire un merge, l’in­te­gra­zio­ne viene ef­fet­tua­ta tramite git rebase. Il relativo comando si scrive così:

git pull --rebase <repository remoto=""></repository>

Git pull con verbose

Con questa opzione, git pull avviene come di consueto, ma in più si ottiene una lista det­ta­glia­ta dei nuovi file. In questo modo sapete su quali contenuti potete con­ti­nua­re a lavorare.

git pull --verbose

Dif­fe­ren­ze fra git pull e git fetch

Spe­cial­men­te all’inizio è possibile con­fon­de­re i due comandi git pull e git fetch. Dopotutto fun­zio­na­no es­sen­zial­men­te allo stesso modo, perché entrambi prov­ve­do­no a scaricare contenuti dal re­po­si­to­ry remoto. Git fetch, tuttavia, non modifica il re­po­si­to­ry locale. Questo comando mette quindi a di­spo­si­zio­ne i file necessari pre­ser­van­do lo stato attuale del re­po­si­to­ry locale. Git pull, invece, aggiorna im­me­dia­ta­men­te il re­po­si­to­ry locale, il che in alcuni casi consente un risparmio di tempo, ma può anche essere causa di conflitti.

Esempio di git pull

Nel seguente esempio vi mostriamo come funziona git pull nella pratica. Poiché il comando esegue due passaggi uno dopo l’altro, il codice è più corto e in totale avete bisogno di meno righe. In questo esempio usiamo il comando git checkout per spostarci al nostro re­po­si­to­ry locale. Nel secondo passaggio eseguiamo git pull. Il comando fa in modo che i contenuti del nostro re­po­si­to­ry remoto vengano scaricati e che subito dopo Git esegua git merge. Il nostro re­po­si­to­ry locale viene quindi ag­gior­na­to im­me­dia­ta­men­te. Di seguito come si scrive il codice nella pratica:

git checkout <repository locale=""></repository>
git pull <repository remoto=""></repository>

Rebase invece di merge

Per as­si­cu­ra­re una cro­no­lo­gia il più possibile lineare, molti svi­lup­pa­to­ri e svi­lup­pa­tri­ci pre­fe­ri­sco­no usare git rebase, ri­nun­cian­do all’uso di git merge. In questo caso le proprie modifiche si situano prima di quelle degli altri membri del team. Poiché git pull esegue in realtà anche un merge, il comando deve essere ampliato con l’opzione --rebase sopra men­zio­na­ta. Questo il comando nella pratica:

git checkout master
git pull --rebase origin
Consiglio

Pub­bli­ca­te e gestite il vostro progetto online! Con Deploy Now di IONOS, ef­fet­tua­te il de­ploy­ment del vostro sito web e app di­ret­ta­men­te da GitHub. Avete a di­spo­si­zio­ne tre tariffe tra cui scegliere, adatte alle vostre esigenze.

Vai al menu prin­ci­pa­le