В моих мыслях о Git есть недостаток, с которым я не могу разобраться. Это, вероятно, коренится в неэффективном рабочем процессе.
Вот что я пытаюсь сделать с Git.
Когда я хочу перейти к производству, я создаю выпуск master, скажем, версии 1.2 и версии 1.2.1 и т. Д.
Но когда я реализую изменения кода между нажатиями на prod, я делаю это.
Каждое изменение - это ветка, которая отображается в тикете с описанием ошибки или функций.
Итак, представьте, что у меня есть три изменения: CHANGE1, CHANGE2, BUG1
Я создаю ветку CHANGE1 master. Когда я закончу с изменением, я объединяюсь с master, и ветвь CHANGE1 практически бесполезна и может быть удалена.
Я делаю то же самое с CHANGE2 и BUG1, но я не сделал релиз, потому что владелец бизнеса должен проверить, что изменения решают проблему, описанную в заявке.
Так что, если все хорошо выглядят, кроме CHANGE2, как мне сделать релиз мастера, который не содержит изменений CHANGE2?
Одним из способов решения этой проблемы является то, что я не объединяюсь с мастером, и когда человек проверяет каждый тикет, я переключаю ветку git, чтобы они выполняли это изменение кода. Это всегда я, чтобы объединить то, что переходит в мастер и создать релиз. Ограничение состоит в том, что, если из-за зависимостей нужно проверять несколько раз за одно и то же время, я думаю, я мог бы создать еще одну ветвь мастера, в которую я объединил бы две ветки?
Какой лучший подход к этому? Я открыт для предложений, не изложенных здесь. Я чувствую, что упускаю что-то, что делает этот процесс красивым. В любом случае, это кажется неуклюжим.