Vai al contenuto principale

Come usare Git Rebase: un tutorial per principianti

Scopri cos'è Git Rebase e come usarlo nei tuoi flussi di lavoro di data science.
Aggiornato 29 set 2026  · 8 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Con la diffusione capillare della data science, del data engineering e del machine learning in quasi ogni aspetto delle operazioni quotidiane di un’azienda, i professionisti dei dati non possono più lavorare in un vuoto. Al contrario, chi lavora con i dati deve collaborare da vicino con gli sviluppatori software per rendere i progetti di data science pienamente operativi e scalabili. Questo significa integrare nel proprio set di competenze nuovi strumenti orientati allo sviluppo software, come Git.

Git è uno strumento open-source per il controllo di versione, creato per gestire le operazioni di versionamento. Consente a sviluppatori e data professional di tracciare in modo efficiente le modifiche ai file di progetto, come script Python e dataset, così che i membri del progetto possano avere un registro di tutte le modifiche, sincronizzare le proprie attività e collaborare senza perdere informazioni. Un ottimo punto di partenza con git è il nostro corso Introduction to Git.

Una delle funzionalità chiave di Git è la possibilità di usare i branch. I branch permettono agli sviluppatori di avere più versioni di un progetto e tracciare ogni versione in modo sistematico. A un certo punto, potresti dover integrare i progressi fatti in un branch all’interno di un altro. Esistono diverse strategie per combinare i branch, tra cui i comandi git merge e git rebase.

L’obiettivo di questo articolo è introdurre git rebase, un comando che aiuta a integrare i branch spostando una sequenza di commit da un branch sorgente in cima a un branch di destinazione, di solito il branch main.

Capire Git Rebase

Immagina di lavorare a un progetto di data science insieme ad altri professionisti dei dati, e di essere incaricato di sviluppare una dashboard con PowerBI basata su dati raccolti in commit precedenti.

Dato che sarai il principale responsabile della dashboard, ha senso creare un branch dedicato. Nel frattempo, il resto del team può continuare ad aggiornare il branch main con nuovi commit. La situazione è questa:

Creazione di un branch per una nuova funzionalità

Figura 1. Fonte

Ora immagina che gli ultimi commit nel branch main siano rilevanti per il tuo branch. Ad esempio, potrebbero aver aggiunto nuovi dataset che arricchiscono la tua dashboard. In questo caso, devi incorporare i nuovi commit nel tuo branch. Ci sono due modi per integrare queste modifiche: merge o rebase.

Se combini i branch con il comando git merge, creerai un nuovo merge commit nel tuo branch che fonde insieme le modifiche più recenti del branch main e del branch che hai creato.

Unione dei branch.

Figura 2. Fonte

git merge è un’operazione non distruttiva, il che significa che le storie di entrambi i branch non cambiano. Questo è utile per la tracciabilità, ma aggiunge anche complessità al tuo branch, dato che potresti dover aggiungere continuamente nuovi commit estranei dal branch main, soprattutto se il main è attivo. Può anche generare potenziali conflitti di merge, come spiegato in questo blog sulla risoluzione dei conflitti di merge.

Se invece usi git rebase, sposterai l’intero branch sopra il branch main. Questa operazione riscriverà la cronologia del progetto inserendo nuovi commit per ciascun commit creato nel tuo branch. Il branch risultante appare così:

Rebase dei branch

Figura 3. Fonte

git rebase è un’ottima opzione per mantenere il progetto ordinato. Spostando l’intero feature branch in cima al main, la cronologia del progetto cambierà, risultando in una storia perfettamente lineare e più facile da seguire. git rebase elimina anche la necessità dei merge commit extra richiesti da git merge.

Tuttavia, anche git rebase comporta potenziali conflitti e insidie. Dato che modifica la cronologia dei commit e non richiede merge commit, può essere difficile identificare quando sono state incorporate le modifiche effettuate con git rebase, compromettendo la tracciabilità. Ancora più importante, se git comporta, accidentalmente o inconsapevolmente, modifiche al branch main e poi effettui il push delle modifiche al repository remoto, questo porterà a cambiamenti inattesi che possono andare in conflitto con il lavoro di altri sviluppatori. Per questo motivo, dovresti usare git rebase con cautela e solo in determinate circostanze.

Vediamo ora come funziona git rebase nella pratica!

Eseguire Git Rebase

Per illustrare come funziona git rebase, replicheremo l’esempio descritto nella sezione precedente. Se lavori a un progetto collaborativo, la prima cosa da fare è recuperare e scaricare i contenuti dal repository remoto in cui il progetto è ospitato (normalmente nel cloud o su un server remoto) e aggiornare il tuo repository locale con le ultime novità, così da essere allineato al resto del team. Questo si fa con il comando git pull, da eseguire nel terminale:

git pull

Ora sei pronto a creare un nuovo branch su cui lavorerai alla dashboard PowerBI. Puoi farlo con il seguente comando:

git checkout -b powerbi_dashboard

Una volta creato il nuovo branch, inizi a lavorare e registri i progressi con vari commit. Per esempio, effettui un nuovo commit dopo aver messo insieme i grafici che compariranno nella dashboard.

git add .  
git commit -m "powerbi_dashboard/add_plots"

Nel frattempo, i tuoi colleghi apportano nuovi progressi nel branch main, rilevanti per il tuo progetto di dashboard. Di nuovo, la prima cosa da fare è eseguire git pull per ottenere gli aggiornamenti dal repository remoto e copiarli nel tuo repository locale. Questo porterà alla situazione descritta nella Figura 1.

Da qui, puoi scegliere tra git merge e git rebase. Se scegli la seconda opzione, ti basterà eseguire git rebase per spostare il tuo branch in cima al branch main.

git checkout -b powerbi_dashboard
git rebase main 

Rebase interattivo

Se non fornisci ulteriori informazioni, git rebase tradurrà tutti i commit del tuo branch in testa al branch main. Tuttavia, puoi usare la modalità interattiva se vuoi avere più controllo su come vengono spostati i commit. Questo ti permetterà di ripulire la cronologia dei commit prima di spostare il branch su main, aumentando la chiarezza.

Per avviare il rebase interattivo, aggiungi l’opzione i al comando git rebase:

git checkout -b powerbi_dashboard
git rebase -i main

Si aprirà un editor in cui potrai cambiare il comportamento di git per ogni commit che vuoi rebasare. Alcune delle opzioni disponibili sono modificare i messaggi dei commit, unire più commit e rimuovere commit. L’elenco completo è disponibile nella documentazione di git. Qui sotto puoi vedere come appare l’editor:

pick 46s9451 powerbi_dashboard/add_plots #keep commit
reword 94561f6 powerbi_dashboard/set_data_connectors #edit commit message
drop 1f094y8 powerbi_dashboard/minor_changes #remove commit

Best practice per Git Rebase

git rebase è un comando utile, ma può creare situazioni confuse se usato negli scenari sbagliati. Come regola generale, dovresti usare git rebase solo nei repository locali.

In particolare, git rebase torna utile quando lavori su un branch dedicato allo sviluppo di una specifica funzionalità. In questo contesto, git rebase può essere usato per mantenere la storia dei commit pulita e lineare, facilitando il lavoro degli altri sviluppatori nel seguire i tuoi progressi quando farai il push dei commit sul repository remoto.

Tuttavia, potresti incontrare conflitti di merge durante il flusso di lavoro di rebase, soprattutto se non hai incorporato per un po’ i commit dei tuoi colleghi nel branch main.

Questa situazione, in cui il tuo branch entra in conflitto con gli ultimi commit del branch main, può essere risolta effettuando il rebase del tuo branch con frequenza sul main. In questo modo, puoi essere sicuro di lavorare sulla stessa base.

Infine, prevenire è meglio che curare. Quindi, prima di considerare git rebase, confrontati con il resto del team, così che possano darti linee guida su come e dove usarlo.

Conclusione

Sei arrivato alla fine del tutorial. Congratulazioni! git rebase è un comando che vale la pena includere nei tuoi flussi di lavoro con git. Ma c’è molto altro da imparare su Git, uno strumento indispensabile sia per gli sviluppatori che per chi lavora con i dati.

Qui sotto trovi alcune risorse DataCamp per aiutarti a padroneggiare Git. Buona consultazione!


Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Sono una data analyst freelance e collaboro con aziende e organizzazioni di tutto il mondo in progetti di data science. Sono anche un'insegnante di data science con oltre 2 anni di esperienza. Scrivo regolarmente articoli su temi legati alla data science in inglese e spagnolo, alcuni dei quali sono stati pubblicati su siti affermati come DataCamp, Towards Data Science e Analytics Vidhya. Come data scientist con un background in scienze politiche e diritto, il mio obiettivo è lavorare all'intersezione tra politiche pubbliche, diritto e tecnologia, sfruttando la forza delle idee per promuovere soluzioni e narrazioni innovative che ci aiutino ad affrontare le sfide urgenti, in primis la crisi climatica. Mi considero autodidatta, una persona in continuo apprendimento e una convinta sostenitrice dell'approccio multidisciplinare. Non è mai troppo tardi per imparare cose nuove.

Argomenti
Data Science
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