J'essaye de rebaser 'dev' pour rattraper la branche 'master'.
$ git checkout dev
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: Corrected compilation problems that came from conversion from SVN.
Using index info to reconstruct a base tree...
M src/com/....
<stdin>:125: trailing whitespace.
/**
<stdin>:126: trailing whitespace.
*
<stdin>:127: trailing whitespace.
*/
<stdin>:128: trailing whitespace.
package com....
<stdin>:129: trailing whitespace.
warning: squelched 117 whitespace errors
warning: 122 lines add whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging src/com/....
CONFLICT (content): Merge conflict in src/com/...
Failed to merge in the changes.
Patch failed at 0001 Corrected compilation problems that came from conversion from SVN.
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".
$ vi src/com/..... { fixed the merge issue on one file }
$ git add -A .
$ git rebase --continue
src/com/....: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add
$ vi src/com.... { verified, no >>> or <<< left, no merge markers }
$ git rebase --continue
Applying: Corrected compilation problems that came from conversion from SVN.
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 would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".
Des idées?
git
git-rebase
awm
la source
la source
git rebase --skip
ne fonctionne toujours pas correctement. Jusqu'à Git 2.0.2 (juillet 2014). Voir ma réponse ciRéponses:
Il y a quelques situations où j'ai vu
rebase
rester coincé. La première est que les modifications deviennent nulles (une validation contient des modifications qui ont déjà été apportées précédemment dans le rebase), auquel cas vous devrez peut-être utilisergit rebase --skip
.C'est assez facile à dire. Si vous le faites
git status
, aucun changement ne devrait apparaître. Si c'est le cas, sautez-le. Si ce n'est pas le cas, veuillez poster une copie degit status
et je peux essayer de vous aider davantage.la source
--skip
que ça fasse pire que de simplement passer à autre chose avec les changements que j'ai faits.git status
montraient qu'il y avait un fichier qui avait été modifié, mais qui n'a pas été ajouté dans la validation. L'exécution aadd somefile.txt
permis de continuer avec le rebasage.Une des fois où j'ai rencontré ce problème, c'est en faisant un
git commit
après agit add
. Ainsi, la séquence suivante produira l'erreur de rebase que vous mentionnez:git add <file with conflict>
git commit -m "<some message>"
git rebase --continue
Alors que, la séquence ci-dessous s'exécute sans aucune erreur et continue le rebase:
git add <file with conflict>
git rebase --continue
Il est possible
git add -A
qu'avec l'option "Tous" crée une situation similaire. (Veuillez noter que je suis très inexpérimenté en git, donc cette réponse peut ne pas être correcte.) Pour être sûr, legit rebase --skip
semble également bien fonctionner dans cette situation.la source
Remarque: Git 2.0.2 (juillet 2014) a corrigé un cas où un
git rebase --skip
restait bloqué et ne pouvait pas continuer avec le rebase actuel.Voir commit 95104c7 par brian m. carlson (
bk2204
)rebase--merge
: correction--skip
avec deux conflits d'affiléela source
Il semble que vous ayez oublié
git add
vos modifications ...la source
git add
puis continué la fusion, et elle s'est arrêtée car un autre fichier a des conflits, vous devez donc le réparer également. Est-ce que j'ai râté quelque chose?