Est-il possible de supprimer mon historique de commit github? Je ne veux pas perdre tous mes commits, juste les 10 derniers environ qui ont été poussés vers github. Je n'arrive pas à comprendre comment faire cela.
Réponses
Trop de publicités?Choisissez simplement le hachage dans lequel vous souhaitez revenir et, dans votre clone, faites:
git reset --hard hash#
git push -f origin branch
où branch
est le nom de la branche que vous souhaitez envoyer. Voilà. Soyez prudent avec la poussée de force. Vous voudrez peut-être copier votre répertoire de travail jusqu'à ce que vous le connaissiez.
Si vous voulez le faire, vous pouvez utiliser HEAD~10
git reset --hard HEAD~10
git push -f origin master
Il n'est pas recommandé de supprimer l'historique de validation du serveur, en particulier: si vous avez une équipe de personnes travaillant sur ce dépôt.
Si vous avez une équipe de personnes travaillant sur cela, je recommanderais de revenir en arrière en ajoutant un autre commit qui annule votre code que vous ne voulez pas.
J'avais uploadé tous mes fichiers de mon premier projet github, y compris certains des fichiers de paramètres avec les clés secrètes. J'ai dû revenir en arrière et supprimer toutes les versions qui ont été inclus avant j'ai ajouté mon .gitignore
le fichier, et supprimé tous les fichiers de paramètres de mon projet de mémoire cache.
gedit ./.git/logs/HEAD
Trouver les 40 caractères de hachage SHA de la 'racine' vous souhaitez supprimer tout avant. Copier dans le presse-papiers et le fermer. (Vous pouvez ou ne pouvez pas utiliser gedit
, un éditeur de texte par défaut pour linux).
$> gedit ./.git/info/grafts
Collez le SHA ici. Accédez à votre répertoire du projet.
$> cd ../..
$> git filter-branch
La Force de la poussée vers le maître, sinon il va bloquer votre tentative pour effacer votre historique.
$> git push --force -u origin master
Supprimer votre grafts
le fichier.
$> rm ./.git/info/grafts
NEVERMIND
Eh bien, ma réponse est que la moitié de la bataille. Mon activité publique flux RSS a encore des liens vers tous les diffs qui décrivent en détail les informations que j'ai voulu supprimer. Apparemment, il n'y a pas moyen de supprimer cela, mais vous devriez le lire sans doute Changer votre Mot de passe, et de mettre à jour les données sensibles que vous pourriez avoir accidentellement téléchargé.