Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2024-09-25. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Resolver conflictos de fusión después de una rebase de Git

Cuando realizas una operación git rebase, normalmente mueves confirmaciones de un lado a otro. Por este motivo, puedes generar una situación en la que se introduzca un conflicto de fusión. Esto implica que dos de tus confirmaciones modificaron la misma línea del mismo archivo, y Git no sabe qué cambio aplicar.

Después de reordenar y manipular las confirmaciones mediante git rebase, si se produce un conflicto de confirmación, Git se lo indicará con el siguiente mensaje impreso en el terminal:

error: could not apply fa39187... something to add to patch A

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
Could not apply fa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841... Change fake file

Aquí, Git le indica qué confirmación causa el conflicto (fa39187). Se te ofrecen tres opciones:

  • Puede ejecutar git rebase --abort para deshacer completamente la fusión mediante cambio de base. Git le devolverá el estado de la rama tal y como estaba antes de llamar a git rebase.
  • Puede ejecutar git rebase --skip para omitir completamente la confirmación. Esto significa que no se incluirá ninguno de los cambios introducidos por la confirmación problemática. Es muy poco común que elijas esta opción.
  • Puedes corregir el conflicto.

Para corregir el conflicto, puede seguir los procedimientos estándar de resolución de conflictos de combinación desde la línea de comandos. Cuando haya terminado, tendrá que llamar a git rebase --continue para que Git siga procesando el resto de la fusión mediante cambio de base.