2016-02-08 2 views
3

Ниже приведен поток git, который мы собираемся выполнить. Но проблема в том, что мы вынуждены ограничивать людей, основываясь на ветке функций от ветки разработчика. Мы должны только позволить людям переустанавливать свою ветку функций из ветви релиза. Ограничение должно заключаться в том, что когда пользователь пытается объединить ветвь функции, которая создается из ветви разработчика или повторно, основанной на ветке разработчика, которая должна быть отклонена. Это можно сделать? enter image description hereGit merging issue

ответ

0

Как указано в «Authorization for Merge requests», у вас есть два способа принудительного разрешения.

Так как в вашем случае, если вы не хотите перебазироваться на вершине мастера, я хотел бы рассмотреть Разветвляющихся рабочий, где master/hotfix ветви находятся в одном репо, feature/dev ветви в другой репо, где зарегистрированы разработчики ,

Таким образом, разработчики могут сделать запрос на объединение только master, с возможностью для интегратора принять/отклонить запрос на объединение, основанный на его происхождении.

1

Надеюсь, я понял ваш вопрос. Вы ищете способ ограничить разработчиков от создания ветвей функций от разработки.

Ниже фрагмента кода поможет определить родительскую ветвь ветви признака. Возможно, вам придется добавить это на скрипт hook-get-get-сервера на стороне сервера.

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