My scenario is this:
- I have a development branch (
dev
), and a production branch (prod
) in Github. - In my CLI, I branch off of
prod
, checkout a set of changes fromdev
, and merge the changes intoprod
(and push to Github) - In the Github web UI, if I then create a pull request to
prod
withdev
as the source, it does not show the changes that I already picked out ofdev
; it seems to be following the logic thatdev
has never been merged withprod
, therefore ignoring the changeset which I just picked out ofdev
and merged withprod
.
Can someone explain the logic behind this? It is extremely confusing for my team, because we regularly check out changes from dev
and merge them to prod
, yet Github shows all those differences as not yet merged in the pull request from dev
to prod
. So it appears to us that the dev
branch is massively out of sync with the prod
branch, when in fact, the prod
branch contains most of the dev
changes already.
Noting that the git CLI reflects the changes as expected: I see close parity between dev
and prod
when comparing the two branches on the command line. It's the Github web UI that seems to be following its own logic.