stackoverflow - git rebase tutorial
Git rebase fallido (4)
Aparentemente, la rama en la que desea cambiar de base también se cambió de base entre el momento en que se bifurcó, tal vez limpiando el historial o rebasando en otra rama. Si es así, necesitas:
- abortar, desorden actual:
git rebase --abort
- para ser actual:
git fetch
Ahora la parte interesante:
git rebase --onto BUDDY_BRANCH YOUR_BRANCH~ YOUR_BRANCH
por ejemplo, se bifurca de su maestro local (verificación de origen / maestro), una nueva rama test_branch (que ahora desea actualizar con el origen / maestro actual)
git rebase --onto master test_branch~ test_branch
Lo que esto hace es en términos simples, toma el compromiso primario inicial de sus sucursales, encuentra su contraparte en el maestro actual y las bases basadas en eso.
Estoy tratando de rebautizar el trabajo de un colega.
En primer lugar, tengo un montón de conflictos en los que <<<<< la cabeza se une para contener el nuevo código.
Luego de un rato me sale el siguiente error:
fatal: update_ref failed for ref ''refs/heads/dev_504'':
cannot lock ref ''refs/heads/dev_504'': ref refs/heads/dev_504 is at
XXXXXXX
but expected XXXXXXXX
Could not move back to refs/heads/dev_504
Entonces si trato de continuar de todas formas me sale el siguiente error:
fatal: cannot resume: .git/rebase-apply/final-commit does not exist.
¿Cómo puedo arreglar esto para que la rebase no dé un error?
Asegúrese de que sus cambios y los cambios de su colega están comprometidos.
Si desea que los cambios de un colega persistan sobre los suyos, simplemente puede hacer,
git rebase <tu rama> <otra rama>
Más
git rebase <another_branch> <your_branch>
Cuando está actualizando su sucursal local con la otra, debe resolver los conflictos eligiendo entre sus modificaciones y las suyas. Después de resolver los conflictos, puede continuar su redistribución escribiendo este comando git:
git rebase --continue
En caso de que cuando quieras abortar tu acción de rebasar, puedes escribir este comando git:
`git rebase --abort`
Puede ejecutar
git rebase --abort
para deshacer completamente la rebase. Git lo devolverá al estado de su sucursal tal como era antes de que se llamara a git rebase.Puede ejecutar
git rebase --skip
para omitir completamente la confirmación. Eso significa que ninguno de los cambios introducidos por el compromiso problemático será incluido. Es muy raro que elija esta opción.Puedes arreglar el conflicto.
Si falla, debe volver a crear su rama o puede eliminar el directorio .git / rebase-merge, que contiene el estado de rebase.