Git merge master sin revertir commit

Estoy tratando de arreglar mis twigs de git, esto es lo que hice.

Tenía un código que debería haberse desarrollado en una sucursal; sin embargo, me comprometí y presioné para dominar (cometer A).

Luego seguí adelante y revertí esa confirmación y también empujé el revertir al maestro (commit B revierte A).

Luego creé una twig fuera del compromiso A y continué mi desarrollo (cometer C y D). Así que así es como se ve mi tree actualmente:

* D (HEAD -> branch_a, origin/branch_a) removed testing code * C updated | * B (origin/master, origin/HEAD, master) Revert "new code" |/ * A new code 

Quiero ser capaz de fusionar limpiamente esta twig de nuevo en maestro. Normalmente lo que haría es convertir el git pull origin master en mi branch pero no puedo hacer eso en este caso porque el master tiene la reversión de A.

¿Qué puedo hacer en branch_a para asegurarme de que pueda volver a fusionarse en master sin perder mi trabajo?

Después de escribir la pregunta, encontré una pregunta similar que tuvo un command que logró el resultado que estaba buscando.

Dado que el único compromiso para master es B, que es una confirmación no deseada en la twig, es posible fusionar el master en branch_a usando una estrategia que mantiene los cambios en la twig en caso de conflictos.

Desde branch_a ejecute git merge -s ours master que fusionará master en branch_a utilizando branch_a versiones de branch_a en caso de conflictos.

El resultado de esta operación cambia el tree para que se vea así:

 E (HEAD -> branch_a, origin/branch_a) Merge branch 'master' into branch_a |\ | * B (origin/master, origin/HEAD, master) Revert "new code" * | D removed testing code * | C updated |/ * A new code