Thanks to visit codestin.com
Credit goes to www.datacamp.com

Vai al contenuto principale

Tutorial su Git Push e Pull

Impara a eseguire richieste Git PUSH e PULL tramite GitHub Desktop e riga di comando.
Aggiornato 3 giu 2026  · 13 min leggi

In questo tutorial ti guiderò nell'utilizzo dei comandi Git push e pull e nella creazione di pull request sia con GitHub Desktop sia da riga di comando. Questa guida è pratica per chiunque gestisca repository di codice.

Puoi seguire tutti i materiali di questo tutorial anche se sei alle prime armi. Tuttavia, se sei nuovo a Git, dai un'occhiata al nostro GitHub and Git Tutorial for Beginners e configura l'ambiente con la nostra guida all'installazione di Git.

Cosa sono Git Push e Git Pull?

In sintesi, ecco le differenze:

git push carica i commit locali su un repository remoto come GitHub, mentre git pull scarica le modifiche da un repository remoto e le unisce nel tuo branch locale. Entrambi i comandi possono essere usati da riga di comando o con GitHub Desktop.

Nota: una pull request è una funzionalità di GitHub per proporre e revisionare modifiche prima del merge — non è la stessa cosa di git pull.

Per inviare i commit da un branch locale a un repository remoto, usa:

git push <remote_name> <branch_name>

Un'altra nota: GitHub non supporta più l'autenticazione tramite password. Usa invece chiavi SSH o personal access token.

Push su GitHub

Partiamo dal concetto di push. 

Usare la riga di comando per fare push su GitHub

Il modo migliore per imparare è fare pratica, quindi vediamo i passaggi.

1. Creare un nuovo repository

Devi creare un nuovo repository e cliccare sul segno più.

Compila tutti i dettagli richiesti, cioè nome del repository, descrizione e rendi il repository pubblico per questa volta, dato che è gratuito.

Creazione di un nuovo repository Creazione di un nuovo repository 2

2. Apri Git Bash

Puoi scaricare Git Bash qui; è una shell per interagire con il sistema operativo che segue i comandi UNIX.

3. Crea il tuo progetto locale sul desktop puntando alla directory di lavoro corrente

pwd sta per "print working directory" ed è usato per stampare la directory corrente.

Vai al percorso specifico nel tuo computer locale con cd 'path_name'. Il comando cd sta per "change directory" e serve a cambiare directory nel tuo sistema operativo; per individuare il tuo file, 'path_name', ad es. C:/Users/Dell/Downloads/FaceDetect-main, deve essere indicato. Questo comando permette di identificare il file con cui vuoi lavorare.

Crea il tuo progetto locale sul desktop puntando alla directory di lavoro corrente.

4. Inizializza il repository Git

Usa git init per inizializzare il repository. Questo crea un nuovo repository vuoto e una directory nascosta .git viene creata nella radice del tuo progetto, raccogliendo tutte le informazioni di revisione in un unico posto.

Inizializza il repository git

5. Aggiungi i file al nuovo repository locale

Usa git add . per mettere in stage tutti i file nella directory corrente. Usa git status per vedere quali file sono in stage e pronti per il primo commit.

Aggiungi i file al nuovo repository locale.
6. Effettua il commit dei file in stage nel repository locale scrivendo un messaggio di commit

Puoi creare un messaggio di commit con git commit -m 'your message', che registra le modifiche in stage nel repository locale. git commit usa -m come flag per il messaggio per impostare i commit con un contenuto in cui è inclusa la descrizione completa; il messaggio va scritto all'imperativo, fino a 50 caratteri, e deve indicare "cosa è cambiato" e "perché è stato cambiato".

Effettua il commit dei file in stage nel repository locale scrivendo un messaggio di commit.
7. Copia l'URL del tuo repository remoto da GitHub

L'HTTPS o l'URL viene copiato dal tuo account GitHub, cioè il percorso del repository remoto.

Copia l'URL del tuo repository remoto da GitHub.

8. Aggiungi l'URL copiato, cioè il tuo repository remoto, dove verrà pushato il contenuto del tuo repository locale

git remote add origin 'your_url_name'

Nel codice sopra, origin è il nome del remoto e l'URL del remoto è "https://github.com/Olivia-Smithcoder100/FaceDetection.git". In questo caso il remoto è GitHub, che fornisce l'URL da aggiungere al repository remoto.

9. Fai push del codice dal repository locale a GitHub

git push -u origin main viene usato per inviare il contenuto locale a GitHub.

Nel comando, origin è il nome predefinito del repository remoto e il flag -u indica l'upstream, equivalente a -set-upstream. main è il branch. name.upstream è il repository da cui abbiamo clonato il progetto.

Autenticati con le tue credenziali GitHub. Nota che GitHub non supporta più l'autenticazione tramite password per le operazioni Git. Dovrai usare un personal access token (PAT) o una chiave SSH.

Fai push del codice dal repository locale a GitHub

10. Visualizza i tuoi file nel repository ospitato su GitHub

Alla fine puoi vedere il file ospitato su GitHub.

Visualizza i tuoi file nel repository ospitato su GitHub.

Usare GitHub Desktop per fare push su GitHub

GitHub Desktop è disponibile per il download per qualsiasi sistema operativo e offre una piattaforma GUI (Graphical User Interface) per inviare il contenuto locale dal tuo repository locale a un repository remoto come GitHub.

Devi aprire il tuo account GitHub nel browser e il processo di creazione di un nuovo repository, cioè il punto 1, è lo stesso indicato sopra in "Usare la riga di comando per fare PUSH su GitHub".

1. Clicca "Set up in a Desktop"

Devi cliccare sul pulsante mostrato sotto: apparirà un pop-up e dovrai cliccare su "Open GitHub desktop".

Clicca "Set up in a Desktop" 1 Clicca "Set up in a Desktop" 2

2. Clonare in GitHub Desktop

Puoi cliccare il pulsante Clone, come mostrato di seguito.

Clonare in GitHub Desktop 1 Dopo aver creato una nuova clone, viene creata una cartella nel tuo computer locale dove è presente anche una directory nascosta .git. Clonare in GitHub Desktop 2

3. Copia tutti i file necessari dal tuo computer locale nella cartella del clone sul tuo computer

Devi copiare tutti i file necessari, immagini, file README, ecc., nella cartella del clone.

Copia tutti i file necessari dal tuo computer locale nella cartella del clone sul tuo computer.

4. Torna a GitHub Desktop e fai commit su main

Puoi vedere che i file aggiunti nella cartella del clone compaiono anche in GitHub Desktop. Infine, scrivi il tuo messaggio e premi Commit to main.

Torna a GitHub Desktop e fai commit su master

5. Pubblica il branch in GitHub Desktop per caricare tutti i file su GitHub

Puoi cliccare su Publish Branch per pubblicare tutto il contenuto locale su GitHub.

Pubblica il branch in GitHub Desktop per caricare tutti i file su GitHub.
Puoi visualizzare il tuo repository su GitHub dopo aver completato tutti i passaggi.

Puoi visualizzare il tuo repository su GitHub dopo aver completato tutti i passaggi.

Git PULL Request

Una pull request è una funzionalità di GitHub che ti permette di avvisare i maintainer del progetto delle modifiche che hai pushato in un repository. Non è la stessa cosa del comando git pull: una pull request è un modo per proporre e revisionare le modifiche prima che vengano unite nel branch principale.

Il comando semplice per effettuare il pull da un branch è:

git pull 'remote_name' 'branch_name'

Il comando git pull combina git fetch, che recupera i commit recenti nel repository locale, e git merge, che unisce il branch remoto a un branch locale. Inoltre, remote_name è il nome del repository e branch_name è il nome del branch specifico.

Vedrai due modi diversi per usare la richiesta di PULL.

PULL Request da riga di comando

Di seguito puoi vedere i file README, che contengono un refuso. Nel file README la parola "contain" è scritta erroneamente come "containnns". Il proprietario di questo repository è MNALO e Olivia è la collaboratrice. Lei risolverà l'errore e invierà una PULL Request. Vedrai il processo per creare una PULL Request tramite un esempio specifico qui sotto.

PULL Request da riga di comando. Nel file sopra, puoi vedere un refuso nella parola "containnns".

1. Forka il repository

Il "Fork" è una copia di un repository. Fare il fork di un repository ti consente di sperimentare liberamente modifiche senza influenzare il progetto originale. (Fonte)

1. Forka il repository.

2. Apri la bash sul tuo computer

Devi spostarti nel percorso o nella cartella richiesti usando il comando cd, e puoi visualizzare il contenuto con il comando ls, che elenca tutti i file presenti nella directory; nel nostro caso, puoi vedere che 'README.md' è presente.

Apri la bash sul tuo computer.

3. Crea un nuovo branch

Puoi creare un nuovo branch usando git checkout -b 'branch_name'. Nel comando sopra, il flag -b serve a creare un nuovo branch e branch_name a dargli un nome specifico; con checkout, passi al branch appena creato.

Crea un nuovo branch.

4. Apporta una modifica usando vim dalla bash o sostituendo direttamente dal file README originale

Puoi cambiare la parola "containnns" in "contains" nel file README e visualizzare le modifiche con lo stato corrente usando il comando seguente.

Apporta una modifica usando vim dalla bash o sostituendo direttamente dal file README originale.

5. Aggiungere e fare commit di un file nel repository

Devi aggiungere e fare commit usando i seguenti comandi.

Aggiungere e fare commit di un file nel repository.

6. Fai push del repository su GitHub

Devi inviare il contenuto con git push origin 'branch_name'. Nel comando sopra, origin è il repository remoto e 'branch_name' è il branch richiesto dove devi caricare il tuo contenuto locale.

Fai push del repository su GitHub.

7. PULL request per uno specifico branch su GitHub

Puoi accedere al tuo repository su GitHub e vedere che c'è un nuovo branch.

Ora puoi passare al punto 8, ma serve un aggiornamento del repository locale con l'upstream del repository. 

In alternativa, puoi eseguire git pull-request da riga di comando e completare la PULL Request verso GitHub, che ti obbligherà a pushare il branch corrente su un repository remoto.

PULL request per uno specifico branch su GitHub.

8. Apri una Pull request

Devi cliccare sul pulsante Create pull request per completare l'azione.

Apri una Pull request

Eliminare un branch dopo il merge della PULL Request

Devi andare alla pagina principale del repository e cliccare su Pull requests.

Eliminare un branch dopo il merge della PULL Request.

Devi cliccare su Closed per vedere l'elenco di tutte le PULL Request che hai creato; al momento ce n'è solo una da selezionare. È quella relativa al branch che vuoi eliminare.

Eliminare un branch dopo il merge della PULL Request. 2

Ora puoi cliccare su Delete branch per completare l'azione.

Eliminare un branch dopo il merge della PULL Request. 3

Il proprietario del repository può vedere tutti i commit, le pull request, ecc. creati da collaboratori e altri. Le modifiche apportate da qualcuno possono essere significative, correzioni rapide di bug, errori, ecc., e vengono aggiunte al progetto.

Eliminare un branch dopo il merge della PULL Request. 4

Il proprietario ora clicca su "Merge pull request". Inoltre, farà clic su "Confirm merge" seguendo il processo seguente.

Eliminare un branch dopo il merge della PULL Request. 5

Eliminare un branch dopo il merge della PULL Request. 6

L'ultima modifica apportata al file README.md con il refuso corretto è mostrata sotto.

Eliminare un branch dopo il merge della PULL Request. 7

PULL Request tramite GitHub Desktop

Il file "imp" contiene un refuso: MNALO è il proprietario e Olivia è collaboratrice. Segue il processo seguente per creare una PULL request da GitHub Desktop.

1. Clonare e aprire sul desktop

Un progetto viene clonato e si clicca su "Open in Desktop".

PULL Request tramite GitHub Desktop

2. Crea un nuovo branch

Viene creato un nuovo branch, "fix-typo-imp".

Crea un nuovo branch.

3. Apporta una modifica al file imp dall'editor di testo

Puoi modificare il contenuto del file imp, correggere un refuso e aggiungere del testo.

4. Effettua il commit delle modifiche

Si scrive un messaggio di commit e si clicca su "Commit to fix-typo-imp".

Effettua il commit delle modifiche.

5. Pubblica il branch

Ora puoi pubblicare il branch, che pusharà il commit su GitHub.

Pubblica il branch

6. Crea una PULL request

Ora puoi creare una PULL request cliccando su Create pull request.

Puoi anche scrivere un messaggio e poi cliccare di nuovo su Create pull request.

Crea una PULL Request 1. Crea una PULL Request 2.

Il processo successivo è lo stesso descritto sopra in "PULL Request da riga di comando".

Conclusione

Come prossimo passo, prova il nostro corso GitHub Concepts per continuare a fare pratica con le attività quotidiane. Ti consiglio anche di ottenere la nostra Certificazione GitHub Foundations, sviluppata grazie alla nostra partnership con GitHub. Completarla fa un'ottima figura sul CV, e inoltre c'è un forte sconto sul costo dell'esame quando finisci il corso. Infine, dai un'occhiata a GitHub Actions, sempre più usate nei workflow CI/CD, strettamente legati alle operazioni di push/pull.

FAQs

Che cos'è il comando Git push?

Il comando git push viene usato per caricare contenuti dal tuo repository locale a un repository remoto come GitHub. È essenziale per condividere le tue modifiche con altri o per sincronizzare il tuo sviluppo locale con un repository pubblico o condiviso.

Come faccio una pull request su Git?

Una pull request di Git non è semplicemente un comando diretto di Git, ma una funzione offerta da GitHub per avvisare i maintainer del progetto delle modifiche che hai pushato su un repository su GitHub. La inizi facendo modifiche nel tuo fork del repository, pushando tali modifiche e poi inviando una pull request tramite l'interfaccia web di GitHub.

Qual è la differenza tra git pull e git fetch?

git pull fa due cose: recupera le modifiche da un branch remoto e poi le unisce immediatamente nel tuo branch corrente. git fetch, invece, si limita a recuperare le modifiche dal repository remoto senza fonderle, permettendoti di esaminarle prima di integrarle nel tuo branch.

Posso eliminare un branch dopo aver fatto il merge di una pull request?

Sì, dopo che una pull request è stata unita, puoi tranquillamente eliminare il branch, avendo ormai assolto la sua funzione. Eliminare il branch aiuta a mantenere il repository pulito e gestibile.

Quali sono i prerequisiti per usare GitHub Desktop per le operazioni Git?

Per usare GitHub Desktop, devi scaricare e installare l'applicazione sul tuo sistema, avere un account GitHub e, idealmente, un po' di familiarità con il workflow di GitHub. È un'interfaccia facile da usare che semplifica molti comandi Git in azioni cliccabili.

Come risolvo i conflitti durante una pull request su Git?

I conflitti si verificano quando le modifiche in un branch si sovrappongono a quelle in un altro e non possono essere unite automaticamente. Per risolverli, devi modificare manualmente i file per decidere quale debba essere il contenuto finale, aggiornare le modifiche e poi completare il processo di merge. Strumenti all'interno di GitHub e GitHub Desktop possono aiutarti a identificare e risolvere questi conflitti.

Cosa ha spinto GitHub a cambiare il nome del branch predefinito da master a main?

GitHub ha cambiato il nome del branch predefinito per allinearsi a pratiche di linguaggio inclusivo. Il termine "master" era considerato da alcuni potenzialmente insensibile, e "main" è stato scelto come alternativa neutra e descrittiva. 

Argomenti

Corsi di Data Science

Corso

Introduzione a R

4 h
3M
Impara le basi dell'analisi dei dati in R, compresi vettori, liste e data frame, e fai pratica con R con set di dati reali.
Vedi dettagliCodestin Search App
Inizia il corso
Mostra altroCodestin Search App
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra altroMostra altro