Estou tentando rebase 'dev' para alcançar o ramo '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".
Alguma ideia?
git
git-rebase
awm
fonte
fonte
git rebase --skip
ainda não pode funcionar corretamente. Até o Git 2.0.2 (julho de 2014). Veja minha resposta abaixoRespostas:
Existem algumas situações em que eu vi
rebase
ficar preso. Uma é se as alterações se tornarem nulas (uma confirmação possui alterações que já foram feitas anteriormente na rebase). Nesse caso, você pode precisar usargit rebase --skip
.É bem fácil de dizer. Se você o fizer,
git status
não deverá mostrar alterações. Se sim, pule. Se não for esse o caso, envie uma cópiagit status
e posso tentar ajudar mais.fonte
--skip
que faria pior do que apenas seguir em frente com as alterações que fiz.git status
mostrou que havia um arquivo que foi modificado, mas não foi adicionado ao commit. A execuçãoadd somefile.txt
permitiu continuar com o rebasing.Uma das vezes que encontrei esse problema foi ao fazer um
git commit
depois de umgit add
. Portanto, a seguinte sequência produzirá o erro de rebase mencionado:git add <file with conflict>
git commit -m "<some message>"
git rebase --continue
Enquanto isso, a sequência abaixo é executada sem erros e continua a rebase:
git add <file with conflict>
git rebase --continue
Pode ser possível que,
git add -A
com a opção "Todos", esteja criando uma situação semelhante. (Observe que eu sou muito inexperiente no git, portanto, essa resposta pode não estar correta.) Para ser seguro,git rebase --skip
parece que também funciona bem nessa situação.fonte
Nota: O Git 2.0.2 (julho de 2014) corrigiu um caso em que um
git rebase --skip
ficaria travado e não seria capaz de continuar com a nova atualização atual.Veja commit 95104c7 de brian m. carlson (
bk2204
)rebase--merge
: corrigir--skip
com dois conflitos consecutivosfonte
Parece que você esqueceu
git add
suas alterações ...fonte
git add
e continuou a mesclagem, e parou porque outro arquivo possui conflitos; portanto, você também precisa corrigi-lo. Estou faltando alguma coisa aqui?