我开始学习如何在我的Git项目中实现钩子。我希望这样做,因此每个团队成员都必须在分支机构名称中也插入他们的姓名。这是我到目前为止所写的。
local_branch="$(git rev-parse --abbrev-ref HEAD)"
valid_branch_regex="^(Taylor|Sean|Ali|Yusuf|Niki|Wiktoria)\/[a-z0-9._-]+$"
message="There is something wrong with the branch name: Branch name must contain your First Name,
For example: $valid_branch_regex. Please re-commit with the correct changes."
if [[ ! $local_branch =~ $valid_branch_regex ]]
then
echo "$message"
exit 1
fi
例如,可以稍微改变一下以接受_Ali或-Niki。
对不起,我对Git非常陌生!
以^[-_]?
开始正则表达式。
但是这似乎是个坏主意。首先,它是一个客户端挂钩,每个人都必须安装该挂钩,如果忘记了,服务器将不会验证分支名称。同样,没有人关心人们在其本地存储库中使用的分支名称。
您应该创建一个服务器端钩子(更新钩子看起来很合适),理想情况下,从中读取名称,但是您可以对用户进行身份验证,甚至可以检查用户是否使用了自己的名称。但是,如果将此脚本移到服务器上,那就更好了。
资源: