I've banged my head against the wall with this Github issue enough to finally come here for help. My repo has two branches of interest: master
, which is the currently live release branch, and alternate-testing
, which is exactly what it sounds like. Our dev process has feature branches regularly branched (and forked) off alternate-testing
, then merged back into alternate-testing
. Finally, alternate-testing
is periodically merged into master
. Note that the testing branch is the gatekeeper to master
- nothing gets into master
but by going through alternate-testing
.
To be perfectly clear, this is not a situation like this:
1 -- 2 -- 3 -- 4 -- 5 -- 6 -- 7 -- 8 [master]
\ /
A -- B -- C -- D -- E [alternate-testing]
as in this question, because master never changes by itself. A more relevant diagram is:
1 -- 2 ---------------------- * -- 8 [master]
\ /
A -- B -- C -- D -- E [alternate-testing]
So at the end of this diagram, master
and alternate-testing
have to be identical. There were no changes to master
after the branching, and every change in alternate-testing
has been merged into master
.
Yet, GH shows that the two branches are out of sync. I just did the merge this morning, and GH says about master
: "This branch is 3 commits ahead, 29 commits behind alternate-testing."
How is this possible, and how can I fix this maddening problem?