У нас есть большой проект со многими командами, работающими на разных модулях, и чтобы «мастер» всегда работал, мы используем несколько ветвей группы, объединенных в основную ветвь в конце каждого спринт, если все в порядке. У каждой команды есть свои филиалы функций, которые идут в отдел команды, когда они закончены.Gerrit: настроить ссылки для нескольких ветвей Git того же уровня
Теперь я пытаюсь перенести наш проект на Gerrit, чтобы запретить случайные прямые нажатия в «master», но сталкиваются с несколькими проблемами. Я много использовал Git, но никогда раньше не использовал Gerrit, поэтому я немного смущен его «магическими пространствами имен». Я искал официальную документацию, но у меня много темных пятен.
Что я хочу сделать, так это позволить каждому разработчику иметь право создавать новые ссылки и нажимать (включая силу) на ссылки refs/heads/* (ветви функций и команд), но не иметь возможности напрямую входить в refs/главы/мастер. Все фиксации мастеру должны пройти проверку Gerrit и цикл сборки инструмента CI, поэтому его следует нажать на ссылку refs/for/master.
Я обнаружил, что у меня нет возможности разрешить ссылку для «refs/heads/*» и отрицания для «refs/heads/master». Поскольку их пути сталкиваются, только один из них работает одновременно (более общий). Поэтому я не могу отрицать толкает «хозяина» таким образом.
Вот часть моего project.config:
[access "refs/for/master"]
push = group Developers
[access "refs/heads/*"]
push = group Developers
[access "refs/heads/master"]
push = deny group Developers
ли кто-нибудь есть опыт создания Герритом для подобной модели ветвления? Если у вас есть идеи, как решить эту проблему или получить квитанцию о конфигурации, отправьте ее здесь, пожалуйста.