When you work out what you actually want to do, the best thing to do first is unwind and try again, but you can only do that if you have not pushed the changes yet, or nobody has subsequently pushed changes (and you have enough admin rights). If you ask nicely, people maybe can push their changes again after you have cleaned up.
What I would do to resolve the conflict is to consider the change on prod that is giving you grief vs the dev feature change you are trying to implement, and work out the change on each branch that gets them close to agreeing what the solution will be.
Basically first refactor both code bases so that they are compatible with the actual feature change, get that submitted, then get the feature change submitted.
Probably this involves having up to 4 branches:
- One off dev for the refactor
- One off prod for the refactor where you will fix up the refactor against the adverts
- A second off the refactored dev that contains the feature
- A second off the refactored release that will receive the feature and you don't expect issues when merging to it.
Hopefully you can keep the changes clean enough that you can then merge each of these branches back in turn and push them.
Do that all locally, and expect some iterations of the first phase, but if you don't push it, then it is easy to back out.