Created
July 25, 2012 10:47
-
-
Save sergeylukin/3175508 to your computer and use it in GitHub Desktop.
Git hook: deny specific branches to be pushed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# <oldrev> <newrev> <refname> | |
# sanitize pushed branch | |
while read oldrev newrev ref | |
do | |
branch=$(echo $ref | awk -F'/' '{print $3}') | |
if [ "$branch" != "master" -a "$branch" != "docs" ] | |
then | |
echo It is not allowed to push any branch except for master and docs | |
exit 1 | |
fi | |
done |
Сорри за поздний ответ, случайно заметил этот коммент проходя по старым гистам. Вы наверное уже разобрались сами в этом вопросе, в любом случае постараюсь ответить. Доступ к хукам гитхаб не предоставляет, но есть поддержка так называемых web hooks. В двух словах - при поступлении новых комитов, webhook отправит HTTP запрос на указанный Вами URL адрес. Это усложняет процесс настройки хуков в специфических случаях, но обычно достаточно интегрировнных в гитхаб сторонних сервисов, которые работают с этой имплементацией.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Сергей, извините что не совсем по теме, подскажите пожалуйста, есть ли возмжность закинуть хук update на гитхаб? хук лежит в .git/hooks/update , в мануале к гиту пишут что это серверный хук, срабатывает после push, соответственно локально он у меня не работает, нужно его закинуть в remote repo, но как закинуть хук на гитхаб??? я пробовал создать новое репо на гитхабе и лить туда мой репозиторий с хуком, но хук не льется.
Sergey, I'm sorry that it was not on, please tell me, is it possible to throw a hook update on github? the hook is in the .git/hooks/update, the manual to write that the Gita is a server hook is triggered after push, respectively locally I have it does not work, you need to throw it in the remote repo, but how to throw a hook on github??? I tried to create a new repo on github and there pour my repository with the hook, but the hook is not flowing.