Git checkout of a branch destroys local reference to master

relates to The checkout step mangles branches, messes the history and Checkout script adds commits to master from $CIRCLE_BRANCH

I am experimenting with using a manual near-identical version of the circle-ci “checkout” step, removing the line that results in the master branch being reset --hard onto the $CIRCLE_SHA1