Метод rev-list | grep
отлично работает;есть небольшая часть накладных расходов, потому что git должен распечатать все SHA1 для grep
, чтобы увидеть, но это не так уж важно.
Вы также можете сделать это с git merge-base
, если хотите - еслибаза слияния целевого коммита и ветвь - это целевой коммит, ветвь содержит целевой коммит:
if [ "$(git merge-base $commit $branch)" = "$commit" ]; then
...
fi
В любом случае, обратите внимание, что rev-list
и merge-base
будутраспечатывает SHA1, поэтому, если коммит, который вы тестируете на включение, называется веткой или тегом, вам нужно будет использовать git rev-parse
, чтобы сначала превратить его в SHA1.