Как узнать, что одна ветка полностью содержит изменения другой ветки?

Скажем, вот у нас ветка: release/1

Через какое-то время от нее создается ветка release/2 и в нее начинает заливаться новый контент. В тоже время, в ветку release/1 добавляются всякие фиксы.

Вот наступает время выпуска release/2 и нужно понять, что она содержит все то, что было выпущено для release/1.

Какие способы определения есть? Я пытался по дереву понять, но по моему, это сложно.

Есть еще вариант, вмержить в 2 ветку 1.

Какие еще варианты есть?


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

Автор решения: Roman Konoval

git log release/2..release/1 вернет все коммиты, что есть в release/1, но которых нет в release/2.

Если пусто - значит все слито.

→ Ссылка
Автор решения: 0andriy

Вариант с git log ... очевидно неверный из-за возможного разрешения конфликтов внутри слияния. Поэтому необходимо пользоваться одной из следующих команд (скорее всего второй):

  1. git branch --contains COMMIT_ID_на_момент_слияния
  2. git merge-base release/1 release/2

в зависимости от начальных условий.

→ Ссылка