come eliminare tutta la cronologia dei commit in github?

Voglio cancellare tutta la cronologia dei commit, ma mantenere il codice nello stato corrente.

perché nella cronologia dei commit ci sono troppi commit non utilizzati.

Come posso farlo ?

c’è qualche comando git può farlo?

git filter-branch ? git rebase ? ... 

il mio codice host in github.com.

L’eliminazione della cartella .git può causare problemi nel tuo repository git. Se si desidera eliminare tutta la cronologia dei commit ma mantenere il codice nel suo stato corrente, è molto sicuro farlo come nell’esempio seguente:

  1. Check-out

    git checkout --orphan latest_branch

  2. Aggiungi tutti i file

    git add -A

  3. Confida le modifiche

    git commit -am "commit message"

  4. Elimina il ramo

    git branch -D master

  5. Rinominare il ramo corrente da padroneggiare

    git branch -m master

  6. Infine, forza l’aggiornamento del repository

    git push -f origin master

PS: questo non manterrà la tua vecchia cronologia dei commit in giro

Se sei sicuro di voler rimuovere tutta la cronologia dei commit, elimina semplicemente la directory .git nella root del progetto (nota che è nascosta). Quindi inizializza un nuovo repository nella stessa cartella e collegalo al repository GitHub:

 git init git remote add origin [email protected]:user/repo 

ora commetti la tua versione attuale del codice

 git add * git commit -am 'message' 

e infine forzare l’aggiornamento a GitHub:

 git push -f origin master 

Tuttavia, suggerisco di eseguire il backup della cronologia (la cartella .git nel repository) prima di eseguire questi passaggi!