, только чтобы избежать перекрестных слияний, но это не должно сильно измениться)

пользуем Gitflow для наших веб-сборок, и у меня есть вопрос о том, какhotfixes должны работать. Но сначала я должен объяснить, что мы недовольно используйте обычный рабочий процесс Gitflow.

Я понимаю, что обычно вы быfeaturesони слились бы вdevelop когда закончите, вы создадите свойrelease, release сливается сmaster и вы развернете это, как фактический «версионный выпуск».

Однако, так как это работа клиента, мы не делаем «релизы», вместо этого функции развертываются по мере необходимости, поэтому изменения по сравнению с нашимиfeature ветви объединены вmaster на специальной основе.

Это вызвало проблемы, так какfeature ветви были разветвлены отdevelop который был далеко впередиmaster; объединяя этиfeature разветвляется вmaster объединит другие изменения вmaster (изменения, которые присутствовали вdevelop в то времяfeature был разветвлен, что еще не было вmaster). Мы знали, что это не то, как спроектирован Gitflow, но нам нужна была какая-то модель ветвления, поэтому мы (вроде) решили эту проблему, выбирая коммиты вместо слияния ветвей.

Итак, я понимаю эти проблемы и не верю, что они способствуют той проблеме, которая у меня есть сейчас, но на всякий случай, именно так мы ее используем. Однако мой вопрос:

Какhotfixes предполагаемый объединить?

В моей голове сценарий таков:

master это "производство"develop впередиmaster

Затем вы хотите исправить немедленную проблему сhotfix ветка. В Gitflow это ветки изmasterи когда вы закончитеhotfix, это сливается вmaster а также develop

Но как это не вызывает огромных проблем?

Недавно я попытался создатьhotfix изменить одну строку копии в одном файле. Я закончилhotfixи изменение слилось вmaster без проблем, но когда надоело сливаться сdevelop, он создал огромный 35-файловый файл с несколькими конфликтами слияния в файлах, которых я не трогал, из-за несоответствия междуdevelop а такжеmaster.

Я понимаю, что это потому, что вы объединяетеhotfix веткакоторый был сам по себеmasterвdevelopне конкретноменять или одинсовершитья так понимаюЗачем произошел массовый коммит / конфликт слияния.

Тем не менее, что яне понять, с учетом этого, какhotfixes работать вообще "в реальном мире", учитывая, что они разветвляются отmaster а затем слились вdevelopчто, по замыслу, намного впередиmaster, Вот почему я не думаю, что проблема в том, как мы используем Gitflow, потому чтоdevelop будет впередиmaster независимо от нашего нестандартного процесса развертывания - я не могу понять, почему это не вызывает огромных головных болей, независимо от проекта или точного рабочего процесса.

То, что не имеет смысла для меня, это то, что вашhotfix может быть что-то так просто, как изменениеtrue кfalse или изменить адрес электронной почты, что угодно, но чтобы получить его вmasterВозможно, вам придется бороться с огромным набором конфликтов слияния. Это просто стандартное поведение? Это просто какhotfixes работать, и если вам придется сесть и разобраться в массовом конфликте слияний, то так и будет? Не будет ли проще просто набрать коммит? Просто кажется, что существует такая огромная область, чтобы ввести ошибку для того, что может быть таким крошечным изменением - вы имеете дело с двумя ветвями, которые, возможно, находятся на расстоянии нескольких месяцев и сотен коммитов друг от друга.

Я могу просто неправильно понять процессhotfixes, но если я, я не уверен, какой бит.

Ответы на вопрос(1)

Ваш ответ на вопрос