1101 votes

Git : supprimer définitivement quelques validations de sites distants

Je sais qui est réécriture de l’histoire qui est mauvaise bla bla bla.

Mais - comment faire ?

728voto

VonC Points 414372

Vous 'git reset"votre agence locale, vous git push --force votre nouvelle branche locale de la télécommande. (autre solution, impliquant la suppression de la branche distante, et re-pousser)

Cette SORTE de réponse illustre le danger d'une telle commande, surtout si les gens dépend de la distance de l'histoire de leur propre repos.
Vous devez être préparé à ce point les gens pour la RÉCUPÉRATION DE l'AMONT REBASE section de l' git rebase page de man

182voto

pctroll Points 438

Il y a trois options présentées dans ce tutoriel. Dans le cas où le lien se casse je vais laisser les principales étapes ici.

  1. Rétablir la pleine commettre
  2. Supprimer le dernier commit
  3. Supprimer engageons à partir d'une liste

1 Rétablir la pleine commettre

git revert dd61ab23

2 Supprimez le dernier commit

git push <<remote>> +dd61ab23^:master
git reset HEAD^ --hard
git push <<remote>> -f

où +dd61... est votre livraison de hachage et git interprète x^ comme le parent de x, et + comme une contrainte de non-fastforwared pousser.

3 Suppression de la validation à partir d'une liste

git rebase -i dd61ab23^

Cela permettra d'ouvrir et de l'éditeur, présentant une liste de tous les commits. Supprimer celui que vous voulez vous débarrasser de. Terminer le rebase et de la force de pression des pensions.

git rebase --continue
git push <remote_repo> <remote_branch> -f

12voto

Vprnl Points 459

C’est peut-être trop peu, trop tard, mais ce qui m’a aidé, c’est l’option « nucléaire » sondage cool. essentiellement à l’aide de la commande `` vous pouvez supprimer des fichiers ou changer quelque chose sur une grande quantité de fichiers tout au long de votre histoire GIT tout.

Il s’explique ici :

http://git-SCM.com/Book/CH6-4.html#The-Nuclear-option : branche - filtre -

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