Наилучшее решение
Если мастер был объединен с dev, мастер станет предком dev.
Используйте это для непосредственного тестирования этого условия:
if git merge-base --is-ancestor master dev; then
# master is an ancestor of dev, and was therefore merged in
fi
Обратный мастер и dev, чтобы проверить, был ли dev слит с мастером.
Чуть более длинное решение
git merge-base
сообщит вам последнюю точку слияниядве ветви.Если master был объединен с dev, то git merge-base master dev
будет master, а если dev был объединен с master, тогда эта база слияния будет dev.
Таким образом, вы можете использовать этот тест, чтобы проверить, был ли master объединенв dev:
if [ `git merge-base master dev` == `git rev-parse master` ]; then
# master was merged into dev
else
# master was not merged into dev
fi
Используйте git rev-parse dev
, если хотите узнать, был ли dev включен в master.
Ссылка
Я нашел--is-ancestor
решение в этом связанном вопросе: Как я могу определить, является ли один коммит предком другого (или наоборот)?