просто пытается выполнить быстрое переключение (то есть принудительное обновление) от myBranch до master. Если master достижимо от myBranch, т.е. master не содержит никаких коммитов, которые не имеет и myBranch, то нажатие будет успешным; в противном случае нажатие будет отклонено.
Предыдущий git checkout myBranch не имеет отношения к git push, так как вы используете refspec myBranch:master. Вы можете узнать больше о refspecs на Git Internals - Refspec.
Это:
git checkout master
git merge myBranch
git push
фактически объединяет myBranch в master, а затем пытается направить его на удаленный (с конфигурацией по умолчанию репо Git, пульт будет происходить).
Поскольку myBranch фактически сливается с master, то предполагая, что удаленный master находится за локальным, то есть он не содержит коммитов, которые локальный не имеет, то нажатие будет выполнено, в противном случае это не удастся.