I've found a raft of answers here for the case when resetting and/or rebasing (and thus rewriting history) are allowed, but what can one do when you've freshly cloned a repo, checked out and pulled branch A and branch B, then on branch B and git merge A
returns Already up to date.
despite the fact git diff A
clearly shows a non-trivial delta?
One way I know of is to back-merge B to A, correct the issue on A and then merge that to B (effectively a no-op on A). But that means changing the source branch, and I feel that shouldn't be necessary.
So, is there a way to tell git to merge everything from A so that B matches A without resetting/rebasing, without needing to do anything to A (since A is exactly as I want things to begin with), and without adding another commit to B that simply compounds the issue (as this is one way to cause the very problem I'm trying to solve)?
(To emphasize, this is from a freshly cloned and pulled repo, so I have no tricks to use (if this would create a merge commit at all, I could correct things and amend it before pushing, but the problem is there is no merge commit at all.)
I suspect there may not be, and the only clean way (given that I can't rewrite history in this case) will involve (back)merges to A. But, git is rich and full of wonders, so I thought it would be worth asking here.