Comment faire pour supprimer dur orphelin s'engager dans git?

J'ai de validation qui ne sont pas sur n'importe quelle branche que je voudrais supprimer.
Je ne veux pas rebase eux, j'ai vraiment envie de les supprimer, et de perdre toutes les informations liées à ces commettre.

Est une commande pour le faire ?

Jusqu'à présent, j'ai essayé de rebase interactif comme beaucoup l'ont suggéré, mais il suffit de déplacer commettre, il ne les supprime pas. J'ai aussi essayé d'utiliser le reflog supprimer, mais je ne peux pas comprendre comment passer d'un spécifique de commettre l'Id de la commande.

Voici l'arbre de travail:

o [master] Commit #6  
|  
o Commit #5  
|  
| o Commit #4  
|/ 
o Commit #3  
|  
o Commit #2  
|  
o Commit #1  

Je veux supprimer physiquement le commit #4.

  • Pourriez-vous élaborer sur "déplacer s'engager autour de"?
  • ainsi, la validation existent toujours, mais est liée à quelque chose d'autre.. C'est quoi un rebase faire: changer le commit parent... non ?
  • Dans le rebase interactif, vous devez supprimer la ligne avec le commit que vous voulez supprimer. Le retour de la validation est tout simplement la création d'un nouveau commit l'application de l'inverse de la diff de celui spécifié. Cela ajoute juste un autre commit, vous devrez supprimer. Essayez le rebase et de supprimer complètement la ligne.
  • Riehman, hum. Avez-vous des commandes spécifiques à faire ce que me dit (vraiment supprimer physiquement un commit) ? Considérez que je n'ai qu'un commitId...
  • Lorsque vous exécutez le rebase interactif et qu'il ouvre votre éditeur de texte, il suffit de retirer de la validation de la ligne que vous souhaitez supprimer. git va réappliquer toutes les autres s'engage et que l'on ne sera plus accessible par la branche courante. La livraison sera ensuite abattus par git collecte des ordures au bout d'un mois.
  • Sudo git rebase -i origin/master, je ne trouve pas le commit #4. sudo git rebase -i cb497092 (le commitId #4), je ne vois que le commit #5 et 6. Je suis perdu.
  • J'ai eu exactement le même problème que posée ici (c'est pourquoi je trouve cette question), mais il s'avère être un problème avec gitk de bien actualiser lui-même après un rebase. Le redémarrage de l'application "résout" le problème.

InformationsquelleAutor FMaz008 | 2011-10-26