Resetta la Storia di Git: Come Ricominciare da Zero con l'opzione --orphan
Git è uno strumento potente per il controllo della versione, tuttavia, nel
lavoro quotidiano, è necessario, a volte, resettare la storia dei commit per
vari motivi: eliminazione di informazioni sensibili, la riduzione della
complessità o semplicemente per avere un nuovo inizio. Una delle tecniche più
efficaci per resettare la storia di un repository è data dall'utilizzo
dell'opzione --orphan.
In questo articolo, ti guideremo attraverso i passaggi per utilizzare
--orphan per creare un nuovo commit iniziale e ripartire da zero.
Perché Utilizzare --orphan?
L'opzione --orphan consente di creare un nuovo branch senza commit
genitori. Il branch sarà completamente indipendente dalla cronologia dei
commit del repository.
L'opzione --orphan è utile quando vuoi:
- Eliminare tutta la cronologia dei
commit: Ideale se hai bisogno di rimuovere completamente la storia passata del repository. - Iniziare una nuova storia di
commit: Perfetto per progetti che hanno subito cambiamenti radicali e necessitano di un nuovo inizio. - Mantenere la connessione con il repository remoto: Continua a utilizzare lo stesso repository remoto senza doverne creare uno nuovo da zero.
Come resettare un repository con --orphan
Di seguito, sono elencati i passi per poter resettare un repository con
l'opzione --orphan.
Passo 1: Backup del Repository
Prima di avviare la procedura di reset del tuo repository, considerando che essa è un'operazione potenzialmente pericolosa, conviene sempre che tu faccia un backup del repository. Il backup consente, in qualsiasi momento, di poter ripristinare lo stato iniziale.
Passo 2: Crea un Nuovo Branch Orfano
Per creare un nuovo branch orfano, spostati sulla root della cartella del progetto (quella dove si trova la cartella .git), ed esegui:
cd /path/basedir/progetto
git checkout --orphan nuovo-branch-orfano
Il precedente comando ha creato un branch orfano, di nome
nuovo-branch-orfano.
Passo 3: Aggiungi file e Primo Commit
Creato il nuovo branch orfano, ora è il momento di versionare i file che
desideri sul nuovo branch e storicizzare il tutto con un commit.
I comandi per fare ciò sono i seguenti:
git add . # in questo caso versiono tutti i file
git commit -m "Primo commit"
Passo 4: Elimina il Vecchio Branch e Rinomina il Nuovo
A questo punto puoi eliminare il vecchio branch, main o master, e
rinominare il nuovo branch orfano per farlo diventare il nuovo main o
master.
git branch -D main # Rimuove il branch main corrente
git branch -m main # Rinomina il branch orfano in main
Passo 5: Push al Repository Remoto
L'ultimo passo prevede il push del nuovo branch verso un repository remoto,
che ancora ha memorizzato il vecchio branch main ormai rimosso. Per
eseguire il push dovrai utilizzare l'opzione -f che forza la sovrascrittura
di quanto memorizzato.
Per eseguire il push forzato, esegui:
git push -f origin main
Conclusione
L'utilizzo dell'opzione --orphan è un metodo efficace per resettare la storia
dei commit di un repository Git e ripartire da zero.
Seguendo i passaggi descritti in questo articolo, potrai creare un nuovo inizio per il tuo progetto mantenendo la connessione con il repository remoto.
Ricorda sempre di fare un backup e informare i tuoi collaboratori prima di eseguire operazioni che possono alterare drasticamente la cronologia del repository.