rebase en cours. Impossible de valider Comment procéder ou arrêter (avorter)?

Quand je cours:

git status 

Je vois ça:

 rebase in progress; onto 9c168a5 You are currently rebasing branch 'master' on '9c168a5'. (all conflicts fixed: run "git rebase --continue") nothing to commit, working directory clean 

Quand je fais:

 ls `git rev-parse --git-dir` | grep rebase || echo no rebase 

Je vois: rebase-apply

Je ne peux pas m’engager pour l’origine.

 git branch 

Montre:

 * (no branch, rebasing master) develop master 

Je suis coincé. Je ne sais pas quoi faire? Est-ce que cela prend vraiment longtemps pour se rebeller? git rebase --continue ne fait rien. Je n’ai rien en statut. J’attends juste le rebase. Que puis-je faire?

UDATE: Ceci est la sortie de: git rebase –continue

 Applying: no message No changes - did you forget to use 'git add'? If there is nothing left to stage, chances are that something else already introduced the same changes; you might want to skip this patch. When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort". 

git add. n’a rien.

Rebase ne se produit pas en arrière-plan. “rebase in progress” signifie que vous avez lancé une rebase et que la rebase a été interrompue à cause d’un conflit. Vous devez reprendre la rebase ( git rebase --continue ) ou l’abandonner ( git rebase --abort ).

Comme le message d’erreur de git rebase --continue suggère, vous avez demandé à git d’appliquer un patch qui résulte en un patch vide. Très probablement, cela signifie que le correctif a déjà été appliqué et que vous souhaitez le supprimer en utilisant git rebase --skip .

Vous avez dit à votre référentiel de rebaser. Il semblerait que vous soyez sur un commit (identifié par SHA 9c168a5) et que git rebase master ou git pull --rebase master .

Vous reformulez le maître de twig sur ce commit. Vous pouvez terminer le rebase via git rebase --abort . Cela reviendrait à l’état où vous étiez avant que vous ayez commencé à le rebaser.

Je suis entré dans cet état récemment. Après avoir résolu les conflits lors d’un rebase, j’ai commis mes modifications, plutôt que de git rebase --continue . Cela donne les mêmes messages que ceux que vous avez vus lorsque vous avez exécuté votre git status git rebase --continue et les commandes git rebase --continue . J’ai résolu le problème en exécutant git rebase --abort , puis en relançant le rebase. On pourrait probablement aussi sauter le rebase, mais je n’étais pas sûr de l’état qui me laisserait entrer.

 $ git rebase --continue Applying:  No changes - did you forget to use 'git add'? If there is nothing left to stage, chances are that something else already introduced the same changes; you might want to skip this patch. When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort". $ git status rebase in progress; onto 4df0775 You are currently rebasing branch '' on '4df0775'. (all conflicts fixed: run "git rebase --continue") nothing to commit, working directory clean 
  • Étape 1: Continuez à vous git rebase --continue

  • Étape 2: corrigez les CONFLITS puis git add .

  • Retour à l’étape 1, maintenant s’il n’y a no changes .. alors lancez git rebase --skip puis retournez à l’étape 1

  • Si vous voulez simplement quitter rebase, lancez git rebase --abort

  • Une fois toutes les modifications effectuées, lancez git commit -m "rebase complete" et vous avez terminé.

Je configure mon git pour créer une auto-vérification à la git checkout

 # in my ~/.gitconfig file [branch] autosetupmerge = always autosetuprebase = always 

Sinon, il se fusionne automatiquement lorsque vous basculez entre les twigs, ce qui, à mon avis, est le pire choix possible par défaut.

Cependant, cela a un effet secondaire, lorsque je passe à une twig et que je git cherry-pick je me retrouve dans cet état étrange à chaque fois qu’il y a un conflit.

Je dois effectivement abandonner le rebase , mais d’abord je corrige le conflit, git add /path/to/file le fichier (une autre façon très étrange de résoudre le conflit dans ce cas?!), Puis fais un git commit -i /path/to/file . Maintenant je peux interrompre le rebase :

 git checkout  git cherry-pick  ...edit-conflict(s)... git add path/to/file git commit -i path/to/file git rebase --abort git commit . git push --force origin  

Le deuxième git commit . semble provenir de l’avortement. Je vais réparer ma réponse si je découvre que je devrais interrompre le rebase plus tôt.

Le --force sur le push est requirejs si vous ignorez d’autres commits et que les deux twigs ne sont pas lisses (les deux manquent dans les commits).

Une autre option pour le faire depuis l’ IDE

VCS> Git> Abandonner la reformulation

entrer la description de l'image ici