Git: Cómo manipular manualmente / crear una fusión entre dos twigs cuando no ocurre ningún conflicto

Supongamos que hay una twig de funciones a la que nos referiremos como twig A
La twig A contiene tres files, A1 (index.html), A2 (main.css) y A3 (script.js).
Desde la twig A , se creó / desprotegió la twig B , dando B1 , B2 y B3 .
Ahora, supongamos que todos los contenidos de B1B3 eliminados por completo y se escribió un código totalmente diferente y luego se confirmó en la twig B
Digamos que el nuevo código de todos los files de la twig B finalmente tendrá que integrarse en el código original como un subset de él.

Esperaba poder lograr esta integración del código B en el código A revisando la twig A y ejecutando git merge B Supuse que esto me presentaría un conflicto de fusión con el que podría crear nuevas versiones de A1A3 para comprometerme con la twig A Sin embargo, Git no produjo el conflicto de fusión esperado y en su lugar reemplazó completamente todo el código A con el código B

¿Cómo se puede integrar el código de estas dos twigs?
Me doy count de que uno podría copyr el código de los files B y pasarlo al código de los files A , todo fuera de Git. Considero que es una solución less que ideal, porque el historial del proyecto no reflejará, entonces, el hecho de que parte del código A proviene de B

Si no tiene una confirmación nueva en la twig A entonces la twig B es un descendiente de A Por lo tanto, una fusión se realiza (por defecto) como un avance rápido, es decir, no se genera una fusión explícita, solo A se establece en B (Podría generar una fusión explícita de commit con git merge --no-ff opción.)

La idea de una combinación es integrar todos los cambios nuevos al estado anterior. Si el cambio reemplaza el contenido de un file por algo completamente diferente, entonces la integración de ese cambio se hace haciendo exactamente esto en la twig A , lo que dará como resultado el nuevo contenido.

Actualmente no puedo pensar en una situación donde esto no es lo que quieres.