Git pull: scaricare e unire contenuti
Il comando git pull consente di scaricare i contenuti da un repository remoto, eseguendo automaticamente un merge. Esistono inoltre diversi argomenti che specificano ulteriormente il comando.
- Certificato SSL Wildcard incluso
- Registrazione di dominio sicura
- Indirizzo e-mail professionale da 2 GB
Cos’è git pull?
Git consente ai membri di un team di lavorare contemporaneamente allo stesso progetto. Questo è possibile grazie alla presenza di diversi repository, sui quali gli sviluppatori e le sviluppatrici possono lavorare in modo autonomo prima che le modifiche utili e importanti tornino a confluire nel progetto principale. Tuttavia, affinché questo principio venga applicato con risultati ottimali, è importante che la base sia identica in ogni repository locale. Solo quando il punto di partenza è uguale, è possibile integrare eventuali modifiche. Per questo il comando Git git pull è uno strumento importante per lavorare con il sistema di controllo delle versioni.
Git pull consente di scaricare i dati da un repository remoto e successivamente di aggiornare il repository locale. In questo modo sarete sicuri di lavorare sempre sulla versione aggiornata dei file. Dopo aver lavorato sul vostro repository locale potete caricare le modifiche sul repository remoto con il comando git push. Particolarmente importante è l’uso di git pull e git push quando più utenti lavorano sullo stesso progetto ed è necessario disporre sempre della versione più attuale. In questo senso git pull esegue una specie di aggiornamento.
Oltre a Git esistono altri programmi di gestione delle versioni. A tal proposito leggete il nostro confronto fra Git e SVN.
Sintassi e funzionamento di git pull
La sintassi di git pull, disponibile anche nella nostra pratica guida “Git Cheat Sheet” da scaricare in PDF, si riduce al comando vero e proprio e contiene l’informazione relativa al repository remoto che dovrà essere scaricato. Questo il comando:
git pull < repository remoto>
Il funzionamento di git pull può essere spiegato meglio alla luce di altri due comandi Git, che in questo caso vengono praticamente svolti uno dopo l’altro. Anzitutto, come nel caso di git fetch, si specifica un repository 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 normalmente i due comandi “git fetch <repository remoto>” e “git merge origin/ <branch attuale>” dovrebbero essere eseguiti uno dopo l’altro, git pull provvede a unirli, risparmiandovi 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 presentiamo di seguito.
Git pull senza merge
Potete ampliare il classico git pull in modo tale da scaricare i contenuti del repository 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 repository remoto, ma invece di eseguire un merge, l’integrazione viene effettuata 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 dettagliata dei nuovi file. In questo modo sapete su quali contenuti potete continuare a lavorare.
git pull --verbose
Differenze fra git pull e git fetch
Specialmente all’inizio è possibile confondere i due comandi git pull e git fetch. Dopotutto funzionano essenzialmente allo stesso modo, perché entrambi provvedono a scaricare contenuti dal repository remoto. Git fetch, tuttavia, non modifica il repository locale. Questo comando mette quindi a disposizione i file necessari preservando lo stato attuale del repository locale. Git pull, invece, aggiorna immediatamente il repository 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 repository locale. Nel secondo passaggio eseguiamo git pull. Il comando fa in modo che i contenuti del nostro repository remoto vengano scaricati e che subito dopo Git esegua git merge. Il nostro repository locale viene quindi aggiornato immediatamente. Di seguito come si scrive il codice nella pratica:
git checkout <repository locale=""></repository>
git pull <repository remoto=""></repository>
Rebase invece di merge
Per assicurare una cronologia il più possibile lineare, molti sviluppatori e sviluppatrici preferiscono usare git rebase, rinunciando 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 menzionata. Questo il comando nella pratica:
git checkout master
git pull --rebase origin
Pubblicate e gestite il vostro progetto online! Con Deploy Now di IONOS, effettuate il deployment del vostro sito web e app direttamente da GitHub. Avete a disposizione tre tariffe tra cui scegliere, adatte alle vostre esigenze.