Чтобы ответить на первый вопрос, это зависит главным образом от настроек вашего удаленного репозитория.
На некоторых сторонних сайтах, таких как github или bitbucket, вы можете установить некоторые ветви как " protected * 1004".* ", что означает, что любой push будет отклонен для них, что заставит любого использовать pull-запросы для объединения чего-либо в.
Из этого ограничения вы можете перейти в любую ветку, master или нет.В этом случае вы действительно объединяетесь локально, а затем нажимаете на удаленный.