Ответ 1
Большие вопросы, и ответ действительно зависит от того, как вы сортируете свой git. Модель ветвления и gitflow в целом пытаются дать нам некоторый порядок в хаосе, который совершается через пару дней.
На приведенном ниже рисунке показано, что они, однако, имеют наибольший смысл.
(Насколько я знаю, все это произошло из этого сообщения в блоге Винсента Дриссена)
Разделение исправлений, которые сливаются непосредственно в master, и ваши исправления, которые сливаются в dev, упрощают работу с вашим циклом продукта.
Идея заключается в том, что вы создаете свое приложение, создаете функции, делаете кандидат на выпуск (бета-тест), а затем публикуете свое приложение. Исправления могут быть необходимы в любое время после этого. Нет смысла возвращаться к ветке функций и исправлять там ошибку, поскольку эта функция уже может быть развита дальше.
Это имеет смысл?