Digamos que tengo dos sucursales en RepoX llamadas BranchA y BranchB. RepoX también tiene un submódulo llamado SubmoduleY.Git: Fusión y Submódulos
BranchA tiene SubmoduleY en la revisión 'abc', BranchB tiene SubmoduleY en la revisión 'def'.
Digamos que quiero fusionar BranchA en BranchB, pero quiero dejar SubMowuleY de BranchB apuntando a su revisión original de 'def'. Veo un par de maneras de hacer esto:
Método 1:
- Pedido BranchB.
- Mueva SubmoduleY a la revisión 'abc' para que la fusión real sea indolora (no queremos hacer ninguna fusión en el nivel de submódulo en este momento).
- Confirme la nueva revisión de SubmoduleY (no podemos tenerlo flotante para la fusión).
- Merge BranchA en BranchB. Resuelva cualquier conflicto.
- Mueva SubmoduleY a la revisión 'def'.
- Confirme la nueva revisión para SubmoduleY.
- Cambios de inserción hasta el repositorio principal.
Método 2:
Igual que el método 1, pero en lugar de hacer el paso 6, rebase y deshacerse de la sub-módulo adicional de confirmación desde el paso 3.
Ambos parecen tener inconvenientes molestos:
El método 1 pone dos confirmaciones adicionales en el historial.
El método 2 olvida cualquier cambio relacionado con las revisiones de los submódulos porque esos commits se eliminan. Por lo tanto, cualquier combinación más adelante tendrá que lidiar con algunos problemas de nuevo.
¿Hay una manera mejor?
¡Solución agradable! Gracias. – Ben