web-dev-qa-db-fra.com

Comment supprimer tout l'historique de commit dans github?

Je souhaite supprimer tout l'historique des validations mais garder le code dans son état actuel car, dans mon historique, il y a trop de validations inutilisées.

Comment puis-je le faire?

Y at-il une commande git peut faire cela?

git filter-branch ?
git rebase ?
... 

Mon code est hébergé sur github.com.

240
Chinaxing

La suppression du dossier .git peut provoquer des problèmes dans votre référentiel git. Si vous souhaitez supprimer tout votre historique de validation tout en conservant le code dans son état actuel, vous pouvez le faire en toute sécurité, comme suit:

  1. Check-out

    git checkout --Orphan latest_branch

  2. Ajouter tous les fichiers

    git add -A

  3. Commit les changements

    git commit -am "commit message"

  4. Supprimer la branche

    git branch -D master

  5. Renommez la branche actuelle en maître

    git branch -m master

  6. Enfin, forcez la mise à jour de votre référentiel

    git Push -f Origin master

PS: cela ne gardera pas votre ancienne histoire de commit

832

Si vous êtes certain de vouloir supprimer tout l'historique de validation, supprimez simplement le répertoire .git à la racine du projet (notez qu'il est masqué). Puis initialisez un nouveau référentiel dans le même dossier et reliez-le au référentiel GitHub:

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

commettez maintenant votre version actuelle du code

git add *
git commit -am 'message'

et finalement forcer la mise à jour vers GitHub:

git Push -f Origin master

Cependant, je suggère de sauvegarder l'historique (le dossier .git du référentiel) avant de suivre ces étapes!

82
Amir Ali Akbari