下面是我们将要遵循的git流程。但问题是,我们必须限制人们从开发人员分支重新构建功能分支。我们应该只让人们从发布分支调整他们的功能分支的基础。限制应该是,当用户尝试合并从开发人员分支创建的功能分支或基于开发人员分支的功能分支时,合并应该被拒绝。这可以做到吗?
发布于 2016-02-08 13:55:09
希望我能理解你的问题。您正在寻找一种方法来限制开发人员从developers创建功能分支。
下面的代码片段将帮助您识别功能分支的父分支。您可能需要将其添加到服务器端git预接收钩子脚本中。
branch=`git rev-parse --abbrev-ref HEAD`
parent_branch=`git show-branch -a 2>/dev/null | grep '\*' | grep -v "$branch" | head -n1 | sed 's/.*\[\(.*\)\].*/\1/' | sed 's/[\^~].*//'`
if $parent_branch="develop"; then
echo "please use release as base branch"
exit 1
fi
发布于 2016-02-08 12:20:24
正如在"Authorization for Merge requests“中提到的,您有两种方法来强制执行授权。
因为在您的例子中,您不希望在主库之上进行rebase,所以我会考虑分叉工作流,其中master
/hotfix
分支位于一个存储库中,而feature
/dev
分支位于另一个存储库中,开发人员注册在该存储库中。
这样,开发人员只能向master
发出合并请求,集成商可以根据来源接受/拒绝合并请求。
https://stackoverflow.com/questions/35269062
复制