8 votes

Supprimer l'historique complet de Git sans supprimer le dépôt ?

Ma question peut sembler un peu étrange car ce que je veux peut généralement être accompli en supprimant simplement le dépôt et en en créant un nouveau. Voici la raison pour laquelle j'ai toujours besoin de garder le dépôt : L'historique de mon dépôt est en fait la partie la plus précieuse du dépôt. Je génère un dépôt entier avec toutes les données. Le dépôt est hébergé sur github et je veux mettre à jour le dépôt là-bas pour qu'il ressemble exactement au dépôt local (historique identique).

La seule solution que j'ai trouvée jusqu'à présent pour faire cela a été de supprimer et de recréer le dépôt sur github avant d'y pousser. Sinon, tous les anciens commits resteraient là, modifiant efficacement les informations historiques du dépôt. Bien sûr, il est assez facile de recréer un dépôt sur github, mais avec le dépôt, tous les observateurs, les informations wiki, etc. sont perdus et je voudrais éviter cela.

J'ai posté ici plutôt que sur github car je pense que cette question est plutôt liée à Git qu'au service d'hébergement.

Des idées?

5voto

Alan Haggai Alavi Points 34260

Un push forcé tel que git push origin +master devrait aider. Tous les changements distants seront perdus.

2voto

Jonathan Points 6714

Étape 1: Supprimer toutes les branches distantes :

git fetch
git branch -r

Pour chaque ligne de sortie (elles devraient ressembler à origin/master, origin/branch1, ...) ajoutez-la à une ligne git push comme ceci :

git push origin :master :branch1 ...

Étape 2: Poussez vos branches locales

git push origin master branch1 ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X