以下是我们即将遵循的git流程。但问题是我们必须限制人们从开发人员分支重新设置功能分支。我们应该只让人们从发布分支中重新设置其功能分支。
限制应该是当用户尝试合并从开发人员分支创建的功能分支或基于合并的开发人员分支时,应该拒绝。这可以吗?
答案 0 :(得分:1)
希望我理解你的问题。您正在寻找一种方法来限制开发人员从开发中创建功能分支。
下面的代码段将帮助您识别功能分支的父分支。您可能必须将此添加到服务器端git pre-receive hook脚本。
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
答案 1 :(得分:0)
正如“Authorization for Merge requests”中所述,您有两种方法可以强制执行授权。
因为在您的情况下,您不希望在主服务器之上使用rebase,我会考虑分支工作流程,其中layout-sw
/ master
分支在一个回购中, hotfix
/ feature
分支在另一个仓库中,开发人员已注册。
这样,开发人员只能向dev
发出合并请求,集成商有可能根据其来源接受/拒绝合并请求。