I had to do some work on my laptop on the dev branch, which I then pushed.
Later, I did some work on the desktop, also on dev, and when I went to push it, it failed with a message "fetch first".  I did a pull and merged, then pushed.
It ended up looking like this:
As you can see, I get a split in the dev branch with a merge.  Obviously, this would have been prevented if I had remembered to fetch first before my commit.
But at the point where bitbucket rejected the push, is there anything I could have done to prevent the merge and get a nice straight timeline?

