Git Merge манипулирует историей

В нашей команде обычная процедура состоит в том, что, когда у нас есть существенная особенность, мы работаем над веткой функций.
Время от времени - мы сливаемся сmaster чтобы выйти из ветви функций, и когда мы будем готовы - мы объединяем обратноmaster (обычно через запрос на включение).

Проблема в том, что, поскольку после слияния история коммитов смешана - у нас нет простого способа отыграть назад операцию слияния ветвей, исключить ветвь в случае, если мы находим ее проблематичной.

Мы рассматривали несколько альтернатив:

вместо слияния мастера с веткой объектов - перебазируйте ветку поверхmaster, так что фиксации функции появляются последними в журнале.
Это облегчило бы удаление, но мы все еще в той же проблеме, если бы кто-то не следовал этому правилу)

Вместо того, чтобы объединить ветвь обратно с master - перебазируйте ветвь Feature поверх нее. это, вероятно, будет означать, что мы больше не можем использовать запросы извлечения.

Имейте мастер тега сценария ежедневно.
Поскольку случаи, когда нам нужно исключить уже объединенную ветвь, очень редки - мы, вероятно, можем рассматривать и рассматривать коммиты со вчерашнего дня, один за другим. это звучит очень смешно, но это не мешает тому, как мы сейчас здесь делаем

Какова лучшая практика здесь?

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

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