Подтвердить что ты не робот

Предоставляет ли github предварительные приемные крючки?

Предоставляет ли GitHub предварительные или обновленные перехватчики?

То, что я хотел бы сделать, это не допустить, чтобы первичные ветки были перенесены (то есть мастер, исправление, разработка) и потребовали, чтобы они были объединены с помощью запроса на выбор GitHub. Это частное репо, поэтому стиль формовки GitHub не является вариантом.

Любой совет о том, как это сделать, будет очень полезен.

4b9b3361

Ответ 1

Только те, кому вы указали "коллаборационисты", могут нажать на репозиторий, размещенный в Github. См. Страницу "admin" в репозитории для добавления соавторов. Все остальные должны представить "запрос на тяну", чтобы получить их дополнения, принятые администратором хранилища. См. Права доступа Github. (Нет разрешений на доступ к отдельным ветким.) Таким образом, для достижения вашей цели вам не нужны перехватчики; то, что вам нужно, уже встроено.

Два примечания:

  • частные хранилища Github могут иметь несколько вкладчиков.
  • для Github было бы необычно поддерживать предварительные приемные крючки (или любые другие серверные перехватчики), учитывая, что на крючках содержится произвольный код.

Ответ 2

Несмотря на то, что GitHub сам не разрешает перехватывать, GitHub Enterprise версии 2.6 включает поддержку предварительного приема. Более подробную информацию об этом можно найти здесь: https://help.github.com/enterprise/admin/guides/developer-workflow/using-pre-receive-hooks-to-enforce-policy/. Это экстенты с широким охватом до приема, чтобы предотвратить пересылку любой информации в какие-либо репозитории.

То, что я хотел бы сделать, это не допустить, чтобы первичные ветки были нажаты (т.е. мастер, исправление, разработка) и потребовали, чтобы они были объединены с помощью запроса на перенос GitHub.

Однако к этому моменту вы можете настроить хранилища GitHub или GitHub Enterprise с защищенными ветвями. Это предотвращает удаление ветки, принудительное нажатие, только некоторые люди или команды могут объединиться или требуется проверка статуса, прежде чем слияние будет допустимым. Для получения дополнительной информации см. https://help.github.com/articles/about-protected-branches/!

Ответ 3

Если вы сотрудничаете с надежной командой (которая, как я полагаю, с тех пор является частным репо), и вы хотите реализовать это просто, чтобы люди случайно не нарушали ваши стандартные рабочие процедуры из чистой привычки, лучше всего do распространяет пользовательский pre-push hook script для каждого, чтобы установить его в каталог .git/hooks. (Я сделал что-то подобное недавно, настаивая на том, чтобы все выполняли git config branch.autosetuprebase always, который неявно меняет git pull на git pull --rebase, чтобы устранить ненужные слияния, когда существуют локальные непрочитанные коммиты)

Если по какой-то причине это не сработает, я обнаружил, что угроза потери прав коммитов после факта обычно является эффективным механизмом для честного общения людей.