Just wondering what is the usual practice for merging back to the master, when the HEAD is likely to have been updated again since the last pull before the merge. To illustrate, in the following diagram, M is the intended merge point, but since master HEAD is updated to A1 by the time M is committed and ready to be pushed, M1 will become the new intended merge point, in other words a new merge has to be attempted.
master-----A----A1---...
\ \
M M1
/ /
local------B------
Note that I would prefer not to merge M and A1 because there might be A2, A3 down the line and if the problem recurs it just looks too messy to me with additional unintended merges. If the changes in local are sufficiently independent from those in master, sometimes I would just rebase on top of master which I find to be an easier solution. But at other times I am really hoping there is some way I can "re-use" the merging work I did for M, for M1.