Git合并问题

时间:2016-02-08 11:54:41

标签: git merge gitlab

以下是我们即将遵循的git流程。但问题是我们必须限制人们从开发人员分支重新设置功能分支。我们应该只让人们从发布分支中重新设置其功能分支。 限制应该是当用户尝试合并从开发人员分支创建的功能分支或基于合并的开发人员分支时,应该拒绝。这可以吗? enter image description here

2 个答案:

答案 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发出合并请求,集成商有可能根据其来源接受/拒绝合并请求。