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.