Я использую модель ветвления на основе GitFlow в своем проекте.Процесс выпуска заключается в следующем: создайте новую ветку release
из dev
, поработайте над некоторыми последними исправлениями ошибок в этой новой ветви release
, объедините ее в master
(создавая тег выпуска), а затем объедините master
назад к dev
.
В идеале, эти release
ветви являются недолговечными, и слияния происходят без проблем.Но в моем последнем случае это стало беспорядком, и некоторые важные исправления были сделаны в dev
по ошибке.Я пытался выбрать их, но это было слишком грязно.Итак, я решил объединить release
обратно в dev
и начать заново с dev
: создал новую ветку release
и удалил материал, не относящийся к выпуску.Вот ситуация:
---x---x---x---x (dev)
\
\
d---x---x (release)
---x (master)
, где commit d
удаляет кучу файлов, не относящихся к этому выпуску.
Проблема
Когда я объединяю release
в master
, а затем попытайтесь объединить master
обратно в dev
, он пытается удалить файлы из dev
из-за фиксации d
.Я также получаю несколько конфликтов типа
CONFLICT (modify/delete): <file path> deleted in master and modified in HEAD
Вопрос
Как объединить release
таким образом, чтобы он игнорировал фиксацию d
и избегал конфликтов при последующих объединениях?