Skip to content

Instantly share code, notes, and snippets.

@sergeylukin
Created July 25, 2012 10:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sergeylukin/3175508 to your computer and use it in GitHub Desktop.
Save sergeylukin/3175508 to your computer and use it in GitHub Desktop.
Git hook: deny specific branches to be pushed
#!/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
@clevertechru
Copy link

Сергей, извините что не совсем по теме, подскажите пожалуйста, есть ли возмжность закинуть хук 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.

@sergeylukin
Copy link
Author

Сорри за поздний ответ, случайно заметил этот коммент проходя по старым гистам. Вы наверное уже разобрались сами в этом вопросе, в любом случае постараюсь ответить. Доступ к хукам гитхаб не предоставляет, но есть поддержка так называемых web hooks. В двух словах - при поступлении новых комитов, webhook отправит HTTP запрос на указанный Вами URL адрес. Это усложняет процесс настройки хуков в специфических случаях, но обычно достаточно интегрировнных в гитхаб сторонних сервисов, которые работают с этой имплементацией.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment