В GIT у меня есть некоторые изменения в ветке релиза my_rel , которые я хотел бы объединить с основной веткой. Однако сложность заключается в том, что некоторые изменения относятся только к этому выпуску, и эти изменения не изолированы на уровне фиксации. Поэтому часть изменений должна быть отфильтрована в результате слияния.
Для этого у меня есть следующие команды. Сначала я делаю git merge, чтобы освоить. Все изменения объединяются обратно (также те, которые я не хочу).
git checkout master
git merge my_rel --no-ff
Затем я возвращаю указатель HEAD обратно туда, где он был, и копирую объединенный контент в промежуточный.
git reset HEAD~2
Теперь все изменения находятся в области подготовки и готовы к рассмотрению для принятия к мастеру. Я удаляю изменение, зависящее от выпуска, и фиксирую оставшуюся часть.
Технически это работает, однако после сброса слияния коммит слияния больше не выполняется. В результате GIT будет считать, что ветвь функций все еще не объединена (что не соответствует действительности).
Мои вопросы:
- Есть ли более простой способ сделать это?
- Это также создает коммит слияния поверх обеих ветвей, так что мастер обновляется с веткой объектов?