tutorial stackoverflow ejemplo git github version-control git-rebase rebase

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.