Github поддерживает precommithooks? - PullRequest
       19

Github поддерживает precommithooks?

14 голосов
/ 16 декабря 2011

В настоящее время мы используем SVN.Я хотел бы начать использовать GitHub, но одно абсолютное требование заключается в том, что нам потребуется предварительная (premerge) проверка кода, как в настоящее время.GitHub поддерживает precommithooks (premergehooks)?

Мы команда из 5 разработчиков.Мы договорились, что весь код (JavaScript) должен пройти валидацию, подобную JSLint.Добровольная проверка оказалась неэффективной, поскольку ее легко забыть.Как мы можем быть уверены, что код, который становится доступным для других, гарантированно будет проверен на соответствие JSLint (или подобному)?

Ответы [ 5 ]

12 голосов
/ 31 декабря 2012

Концепция, которую я искал, была prereceive hook

2 голосов
/ 11 декабря 2012

Я думаю, что эта статья описывает очень хороший рабочий процесс, который может стать основой для автоматизации:

http://scottchacon.com/2011/08/31/github-flow.html

Основная идея заключается в том, что вы используете запросы на выборку, как указано выше, но вытакже может иметь службу, которая может использовать github api для извлечения или извлечения ветви, которая выполняет запрос, объединяет, тестирует, проверяет, а затем отправляет в целевую ветвь.

2 голосов
/ 16 декабря 2011

Нет, GitHub не поддерживает хуки до фиксации.Как это вообще сработает?Фиксация происходит на вашем компьютере, вы действительно хотите разрешить GitHub запускать произвольный код на вашем компьютере?

2 голосов
/ 16 декабря 2011

Я думаю, вы упускаете что-то фундаментальное в git Это не централизованная модель (хорошо, это может быть , может быть , но если вы собираетесь использовать ее таким образом, то github, вероятно, неправильный подход). Если вы используете github, правильный способ сделать это:

  1. Хозяин вашего основного репо
  2. Пусть ваши разработчики создадут свой собственный форк
  3. Пусть они с радостью взломают, совершат и придадут терпение своему сердцу
  4. Когда они считают, что функция готова, они отправляют запрос на извлечение данных (сопровождающему), который вы сами проверяете на стороне, чтобы обеспечить стабильность. Затем вы объединяете / перебазируете свои изменения в основной репо.

Естественно, есть много способов снять кожу с кошки. Но когда вы говорите о «настоящем мерзавце» (типе, используемом сообществом открытого исходного кода), централизованная модель «проверяй и будь проклят, хорошо, лучше работай» довольно трудна, особенно когда дело доходит до крупных проектов.

2 голосов
/ 16 декабря 2011

Я не верю, что github поддерживает хуки pre-commit. Тем не менее, ядро ​​Git делает. Вы можете настроить хуки pre-commit локально или применить их в качестве теста перед тем, как объединять ветки в ваш основной github.

...