2011-05-27 28 views
9

he estado desarrollando una rama feliz y cada día rebase cada día desde el principal con:git rebase problemas

git rebase master 

Hoy en día cuando hice un maestro de rebase, me sale el siguiente mensaje:

de caer a parchear base y de 3 vías de combinación ...

el rebase me llevó a través de un muy largo proceso de fusión de la misma serie de ficción les una y otra vez. Se declaró "Patch falló en 001" y continuó hasta 044.

Después de haber terminado el rebase y empujó la rama a la distancia, entré en el comando de rebase de nuevo sin hacer ninguna modificación en el código:

git rebase master 

Luego me llevó a través de la misma base de datos exactamente otra vez. Estoy totalmente perdido en cuanto a lo que está pasando. Solo quiero aplicar correcciones de errores desde el maestro a esta rama sin pasar por este proceso cada vez.

¿Alguien me puede ayudar con lo que está pasando? No quiero tener que pasar por esto cada vez que rebase el maestro.

+0

Quizás quiera echar un vistazo aquí: http://stackoverflow.com/questions/4215726/from-git-to-svn-failed-to-merge-in-the-changes –

+0

Es posible que alguien lo haya hecho algunas de las cosas que NO se deben hacer, en la rama principal desde la que se basa. Estas cosas son comandos que cambian la historia pasada, como "modificar" y otros ... –

+0

no hay cambios en la historia de esta manera – dagda1

Respuesta

4

El uso de git rebase para reubicar continuamente en otra rama va a la forma en que generalmente se espera que Git funcione. Lo que probablemente debería hacer es fusionar master en su propia rama de desarrollo cada cierto tiempo. Esto mantendrá su rama de desarrollo actualizada con los cambios de master y mantendrá sus propios commits de desarrollo fuera de la rama master.

Si no quiere tener un montón de fusiones en el de maestro en su rama de desarrollo, utilizar la funcionalidad git rerere 's y hacer:

 
git merge master 
git reset HEAD~ 

Con git rerere habilitado, que registrará sus resoluciones de combinación si hay conflictos para que no tengas grandes conflictos más adelante.

+0

Creo que la fusión en la rama de desarrollo y la rebase en el maestro tiene mucho sentido. – dagda1

+0

Thought 'rerere' fue un error tipográfico, pero me alegro de encontrar que es un comando que puede ser muy útil en mi caso. – Jayesh

+0

¿Este comando guarda las resoluciones de combinación solo localmente o pueden ser enviadas al servidor para que otras personas puedan usarlas para sus fusiones? – dk14