git rebase --continue ne fonctionne pas

j'ai fait git rebase master, les conflits résolus signalé dans un fichier, puis git add le fichier pour résoudre le conflit. Ensuite, j'ai fait git rebase --continue, et j'ai obtenu ceci:

application: essai à l'unité fixe

Aucun changement - avez-vous oubliez d'utiliser git ajouter? S'il n'y a plus rien à mettre en scène, il y a des chances que quelque chose d'autre déjà présenté les mêmes changements; vous pouvez sauter cette patch.

lorsque vous avez résolu ce problème, lancez " git rebase --continuer." Si vous préférez sauter ce patch, lancer "git rebase -- skip" à la place. De vérifiez la branche d'origine et arrêtez de rebaser, Lancez " git rebase --interrompre."

avez-vous une idée de ce que je rate? Dois-je faire git rebase --skip?

34
demandé sur Boon 2014-02-19 22:55:57

4 réponses

si vous êtes dans Mac OS X, alors tout d'abord vous devez désactiver revisiond, car il peut affecter des fichiers dans votre arborescence de travail au milieu de rebase, provoquant un comportement imprévisible et cassé:

git config --global core.trustctime false

Le problème est expliqué dans cet article, et grand merci à @nickfalk qui l'a signalé.

en ce qui concerne votre rebase, ce genre de situation n'est pas inhabituel dans la pratique. Essayons de penser à travers les étapes de ce qui est passe:

  • lorsque vous rebasez la branche courante au-dessus d'une autre branche, git déplace la tête vers l'autre branche, et commence à appliquer les propagations uniques que vous avez dans votre branche courante.

  • alors que vous rejouez un de ces commits, vous avez atteint un conflit. Vous l'avez résolu, mais en conséquence il n'y a aucun changement à commettre, rien à rejouer dans cette commission.

pratiquement, cela signifie que vous avez rejeté les changements dans la propagation actuelle sont rejoués. Donc, si vous n'avez besoin de rien de ce commit, c'est normal de le sauter. Donc git rebase --skip sens ici.

25
répondu janos 2017-05-23 12:25:45

souffle, tu ne deviens pas fou! ;- =Ceci est un bug connu où OSX (si c'est effectivement ce que vous utilisez) joue avec git, il est détaillé ici (pas par moi).

petite histoire (c'est à dire la correction) est:

git config --global core.trustctime false
3
répondu T. Benjamin Larsen 2014-02-19 19:25:04

j'ai eu un problème similaire dans mon projet et résolu en mettant le --preserve-fusionne option de la commande rebase. Dans mon projet, ce problème a été causé par une commit de fusion, qui est une "commit vide". En utilisant git rebase --preserve-merges il prend la commit de fusion et continue la fusion sans casser l'arbre de propagation.

1
répondu Eliseu Egewarth 2017-04-12 22:11:13

Il pourrait bien signifier que les changements sont déjà relocalisée. Il suffit de cocher le git status.

0
répondu Neo 2014-02-19 18:59:22