Мой продукт - плагин для IntelliJ. Я поддерживаю несколько версий базовой платформы IntelliJ и выпускаю сборки моего плагина для каждого из них, так как их API часто меняются между версиями. Я просто работаю над этим, поэтому я развиваюсь в мастер, а затем поддерживаю ветку для каждой из других версий. Поэтому мое репо выглядит следующим образом:
1.6.0 1.6.1-eap1
.... a---b---c--- master
\ \
d-------e--- idea-2017.1
\ \
f-------g--- idea-2016.3
\ \
... ... etc etc
a
является стабильным выпуском и помечен 1.6.0
. c
является выпуском EAP (бета) и отмечен 1.6.1-eap1
. Эта схема отлично подходит для этих двух случаев.
Иногда я хотел бы создать сборку dev, которая не входит в канал выпуска, но пользователи могут загружать ее вручную и тестировать, если захотят. Я хотел бы создать сборку dev для каждой платформы, так как пользователи-разработчики могут использовать любую версию IntelliJ. Лучший способ, я могу думать, - создать ветку для dev, например, тег 1.6.0
(commit a
), а затем соответствующие ветки от commits d
, f
и т.д., На которых я может объединить ветвь dev и создать из нее сборки dev.
Предполагая, что я хочу написать script для создания и поддержки этих ветвей, как я могу найти коммит d
, f
и т.д. из тега 1.6.0
, чтобы создать ветки dev dev из <? p >