git. Разделить доработку на две ветки

В репозитории git есть основная ветка main, в которой находятся коммиты релизов. Есть ветка разработки task, ответвленная от коммита v1.0.

В ней было изменено два файла: 1.file и 2.file.

Менеджером проекта было принято решение, что в релиз v1.1 войдут изменения только из 1.file, а изменения из 2.file отложены до v1.2.

Если просто в main выполнить git merge --no-commit task и вручную откатить изменения в 2.file перед завершением слияния, то в релизе v1.1 всё будет правильно. Но когда позже при сборке v1.2 будет сделан повторный merge ветки mask в main изменения из 2.file не подтянутся. И конфликта слияния не будет. То есть правка просто потеряется.

Как правильно разделить ветку task на две?

Чтобы при этом:

  1. Результат последовательного merge обеих в main был равен результату merge исходной ветки.
  2. Не изменять уже существующие коммиты в ветке task, так она уже была отправлена на сервер.

Ответы (0 шт):