Estoy tratando de rebase 'dev' para ponerse al día con la rama '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".
¿Algunas ideas?
git
git-rebase
awm
fuente
fuente
git rebase --skip
podría no funcionar correctamente. Hasta Git 2.0.2 (julio de 2014). Vea mi respuesta a continuaciónRespuestas:
Hay un par de situaciones en las que he visto
rebase
atascado. Una es si los cambios se vuelven nulos (una confirmación tiene cambios que ya se realizaron anteriormente en la nueva versión) en cuyo caso es posible que deba usargit rebase --skip
.Es bastante fácil saberlo. Si lo hace,
git status
no debería mostrar cambios. Si es así, solo sáltatelo. Si ese no es el caso, publique una copia degit status
y puedo intentar ayudarlo más.fuente
--skip
fuera peor que simplemente seguir adelante con los cambios que hice.git status
mostró que había un archivo que se modificó, pero no se agregó a commit. Ejecuciónadd somefile.txt
permitida para continuar con rebase.Una de las veces que me he encontrado con este problema es cuando hago un
git commit
after agit add
. Entonces, la siguiente secuencia producirá el error de rebase que usted menciona:git add <file with conflict>
git commit -m "<some message>"
git rebase --continue
Mientras, la secuencia a continuación se ejecuta sin ningún error, y continúa el rebase:
git add <file with conflict>
git rebase --continue
Es posible que
git add -A
con la opción "Todos" se cree una situación similar. (Tenga en cuenta que no tengo mucha experiencia en git, por lo que esta respuesta puede no ser correcta). Para estar seguro,git rebase --skip
parece que también funciona bien en esta situación.fuente
Nota: Git 2.0.2 (julio de 2014) ha solucionado un caso en el
git rebase --skip
que a se atascaba y no podía continuar con el rebase actual.Ver commit 95104c7 por brian m. carlson (
bk2204
)rebase--merge
: arreglo--skip
con dos conflictos seguidosfuente
Parece que olvidaste
git add
tus cambios ...fuente
git add
y luego continuó la fusión, y se detuvo porque otro archivo tiene conflictos, por lo que también debe solucionarlo. ¿Me estoy perdiendo de algo?