thu*_*ird 2 git githooks gitlab
我们使用的是GitLab 8.5.0版.我正在编写一个自定义服务器端更新挂钩来锁定特定的分支.它工作得很好,但是,我想允许处理GitLab合并请求.所有GitLab合并请求通常在提交描述中都有"查看合并请求"注释.因此,我想只允许那些包含提交消息"See Merge request"的提交.但是,它不像我想的那样工作.
任何其他可能的方式只允许gitlab合并请求?
#!/usr/bin/env bash
GIT_COMMIT_MSG=`git log -1 HEAD --pretty=format:%s`
if [[ "$1" == refs/heads/master ]]; then
if [[ "$GIT_COMMIT_MSG" =~ *"See Merge request"* ]]; then
echo "This is GitLab Merge Request"
else
echo $GIT_COMMIT_MSG
echo "ERROR: you are not allowed to update master" >&2
exit 1
fi
fi
Run Code Online (Sandbox Code Playgroud)
我知道您正在使用GitLab 8.5,但如果可能的话,请考虑升级到8.11,这是本地(并且更安全)实现的.
请参阅" 使用允许合并和允许推送设置 "
您可以将"
Allowed to push
" 设置为"No one
",将"Allowed to merge
"设置为"Developers + Masters
",以要求每个人都为进入受保护分支的更改提交合并请求.
然后你需要的只是保护一些分支,它们只能通过合并请求进行修改.
归档时间: |
|
查看次数: |
1447 次 |
最近记录: |