Gitlab工作流程,强制分支上的代码检查或合并请求


18

我正在努力通过工作流程策略在我的公司中实施Gitlab。我的想法是,将为开发人员提供访问存储库的权限,但是,无论何时他们尝试提交,都必须对其代码进行审查。

我知道我可以让他们在提交之前创建一个分支,然后在将其推送到存储库之后创建一个合并请求。我仍然不清楚某些事情……我们依靠人们创建分支然后合并请求的想法似乎是错误的,是否存在一种解决方案,该解决方案会强制执行某种策略,除非master分支保持“干净”管理员”批准将要合并到其中的代码。我已经阅读了“ github团队工作流程”,但是它似乎没有提供可行的解决方案。关于过程或您自己的最佳实践的任何建议都将受到赞赏。谢谢!


1
"The idea that we rely on people to create a branch and then a merge request seems faulty"在我看来,与版本控制系统缺少功能相比,您面临的问题更大。如果仅是花费额外的时间来创建分支机构,那么请看一下Atlassian Stash及其与Jira的集成。
toniedzwiedz 2014年

5
谢谢汤姆,我的想法是通过执行标准政策,我消除了出错的
Mike

2
考虑一下来自gitlabhq的博客条目about.gitlab.com/2014/09/29/gitlab-flow
spuder 2014年


您可以让他们使用自己的叉子
。...–通配符

Answers:


14

我已开始使用gitlab,阅读帮助部分提供了工作流程布局。在这一点上,这似乎是我的问题的最佳解决方案。如果任何人都有使用此工作流程或建议的经验,请添加任何其他信息。

在“帮助”部分:

工作流程

  1. 克隆项目
    git clone git@example.com:project-name.git
  2. 使用功能创建分支
    git checkout -b $feature_name
  3. 编写代码。提交变更
    git commit -am "My feature is ready"
  4. 将分支推送到GitLab
    git push origin $feature_name
  5. 在提交页面上查看您的代码
  6. 创建合并请求
  7. 您的团队负责人将审核代码并将其合并到主分支

在存储库的commits部分中,您实际上可以保护分支,这迫使开发人员遵循上述过程,创建分支并提交合并请求。

屏幕截图-保护分支


2
有什么方法可以强制执行此工作流程(例如,使用受保护的分支),但可以允许任何受让人(不仅是具有Master / Admin特权的团队负责人)合并请求?
亚当

我只是尝试将合并请求分配给没有主权限的人,他们会在合并请求中收到以下消息:即使您可以合并,但您没有权限,它也无法自动合并。因此,似乎他们没有能力。
迈克

谢谢。我将尝试使用Review Board,Phabricator或Gerrit。您对其中的任何一个有经验吗?
亚当

不,对不起,我还没有尝试任何这些服务。如果成功,请发布答案。
2014年

当然可以,除非我忘记了。顺便说一句,我已经将Barkeep添加到我的清单中了:)
亚当(Adam)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.