Git - блокировка главной ветви для некоторых пользователей?

StackOverflow https://stackoverflow.com/questions/4414100

Вопрос

Я хотел бы заставить других членов команды не работать над мастер-ветви, но на филиале развития. У нас есть центральный гидропозигатор, в котором мы продвигаем нашу работу. Я хотел бы знать, можно ли блокировать пользователей от толкания изменений в ветку MASTER-FILIVE, но позволит некоторым пользователям сделать это.

Я хотел бы иметь следующий «рабочий процесс»

  • Развитие всегда делается только с филиалом развития
  • Релиз-менеджер отвечает за мастер-филиал, и только ему разрешено объединять вещи из филиала развития в мастер и подтолкнуть его к мастер-ветви на центральном хранилище.

Это возможно и как я могу добиться этого?

Это было полезно?

Решение

Видеть man githooks: В общем репо, вы можете создать $(git rev-parse --git-dir)/hooks/pre-receive или $(git rev-parse --git-dir)/hooks/update Сценарий, который проверяет то, что ваши пользователи пытаются подтолкнуть, к которому Refs. Git поставляется с Обновление-параноидация Пример подключения крюка Per-Ref ACL.

Другие советы

Мой подход с низким уровнем будет просто позволить RM быть единственным с помощью ключей SSH, чтобы подтолкнуть к репозитории, которые все остальные используют в качестве основной базовой линии. Таким образом, никто, кроме RM, может подталкивать к мастеру - но все могут работать, так как у них есть свои местные филиалы развития, а Devs может делиться между собой ветвями, которые им нравятся.

Следующим шагом является создание тестера для приготовления пищи на вещах в ближайшее время. Этот горшок обычно называется next или dev. Отказ Идея состоит в том, что чем больше влияют на ветвь, тем дольше она готовит перед сливщиком. Это дает RM полный контроль над тем, какие ветки должны выпускник и до сих пор дает каждому головы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top