Вопрос по git, github – Github позволяет предварительно получать хуки?

35

GitHub позволяет предварительно получать или обновлять хуки?

То, что я хотел бы сделать, это предотвратить передачу основных ветвей (т. Е. Master, hotfix, development) и потребовать, чтобы они были объединены с помощью GitHub pull-запроса. Это частное репо, поэтому разветвление в стиле GitHub невозможно.

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

Обратите внимание, что GHdoes разрешить пользователям создавать частные репо, чтобы они оставались закрытыми. AFAIR, есть ограничение на количество вилок. Обратитесь к информации о вашем плане оплаты. Alexander Gladysh

Ваш Ответ

3   ответа
5

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

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

18

Только те люди, которых вы перечислили как «соавторов»; может отправить в Github-репозиторий. Смотрите администратор репозитория 's' admin 'apos; страница для добавления соавторов. Всем остальным необходимо отправить «запрос на извлечение» чтобы их добавления были приняты администратором хранилища. УвидетьРазрешения доступа Github, (Для каждой ветви нет прав доступа.) Таким образом, для достижения вашей цели вам не нужны перехватчики; то, что вам нужно, уже встроено.

Две заметки:

  1. private Github repositories can have multiple contributors
  2. it would be unusual for Github to support pre-receive hooks (or any other server hooks) given that hooks contains arbitrary code.
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededpost-принимать:help.github.com/articles/post-receive-hooks
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Jason Waldrip
8

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

What I would be looking to do is to prevent the primary branches from being pushed to (i.e. master, hotfix, develop) and require that they be merged via a GitHub pull request.

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

Похожие вопросы