В других ответах есть несколько хороших замечаний, но есть еще один важный: что если вы опубликуете работу в центральном хранилище, к которому другие также имеют доступ? Возможно, с помощью нажатия, возможно, с помощью запросов на извлечение, но в результате вы получаете то, что вы делаете. Придерживаться соглашения об издательской работе только из вашей основной ветки действительно помогает.
Как вы сказали, вы можете думать о мастере как о "последней известной рабочей версии", но вы также можете думать о ней как о "моей новейшей стабильной версии". Если это единственный, с которого вы публикуете, то вы знаете, что вы никогда не можете сделать с этим ничего сумасшедшего, но также и то, что вы можете делать эти сумасшедшие вещи с любой другой веткой. Вы можете свободно изменять коммиты, сдавливать их, перебрасывать ветки вокруг, все эти способы, которые Git предоставляет, чтобы исправить неизбежные упущения, которые мы делаем при разработке. И вам никогда не придется думать: «Хм, я уже продвинул эту работу?» - у вас нет, так как он еще не находится в вашей основной ветке. Вы также можете попробовать что-нибудь, программируя - взломать, совершить частично законченную работу, перемещаться между идеями, что угодно - и быть уверенным, что вы никогда не покажете это случайно кому-то еще, пока не скажете «Я закончил» и объединить его с мастером.
Ключевой частью здесь является понятие публикации вашей работы. Если бы это был ваш личный репозиторий, если бы вы поняли, что ваша основная ветка каким-то образом нарушена, это только доставит вам неудобства. Но как только другие люди будут вовлечены, вы тоже можете с ними связываться.