GitLab:有没有办法为分支分配状态/注释?

时间:2015-02-04 17:12:26

标签: git version-control git-branch gitlab

我计划使用GitLab来管理Git存储库(主要是来自各种硬件供应商的Linux内核)。

目前,我正在使用Gitolite来管理Git服务器和MediaWiki上的用户以获得一个名为" branch table&#34 ;;换句话说,单个用户报告的表格:

  • 分支名称(例如xboard-feat-i2c2)
  • 分支维护者
  • 简短分支描述(例如"从rev 2.0.0开始,功能分支在自定义主机X上实现i2c2驱动程序")
  • 分支状态(WIP,测试,准备合并,中止)
  • 分支更长的信息(例如"要构建这个分支,你必须改变这个并做到这一点(关于默认指令)。我们目前有一个问题......"依此类推) 。在本节中,我通常还会参考用于测试此特定软件的测试台/测试套件。

这里的主要问题是上表是手动创建的,有时用户忘记添加分支或重命名。

我想知道GitLab(或类似工具)中是否有一个地方可以插入这条信息。

我目前正计划强制用户在存储库的根目录上创建README(或BRANCHREADME,以避免冲突),如here所述,并提供所有必需的信息,并且我是想知道是否有在GitLab项目中创建新页面的方法,以显示各个分支的所有README信息。

2 个答案:

答案 0 :(得分:3)

我们已经走了很长一段路,因为“把每个人都做的事情放在一个他们总是忘记维护的大文件中”。对于问题跟踪器和拉取请求系统,您正在做的事情似乎是多余的。 GitLab有那些,所以让我们使用它们。

  • 为每项任务提出问题。
    • 在任务之后命名问题,这是人类可读的。
    • 将问题的描述和任何其他信息放在问题中。
    • 将分支维护者分配给该问题。
  • 使用问题编号为该任务创建分支。 git branch issue/123
    • 如果您想使用更高级的命名方案,请在问题中添加分支的名称(我建议不要使用它,保持简单)。
  • 使用问题评论系统进行有关分支/任务的任何讨论。
  • 为任何状态或类别信息使用问题标签。
  • 当它准备好合并时,请提出拉取请求。
    • 按照正常的拉取请求流程。
  • 什么时候合并......
    • 删除分支。
    • 关闭此问题。

这利用了GitLab问题跟踪器与代码的良好集成。问题是可搜索的,它们附加了对话,它们可以在提交中引用(反之亦然),并且它们在关闭后存档。分支命名方案很简单,允许未来的开发人员轻松跟踪旧分支回到其开发历史记录(分支名称在删除后仍保留在合并提交中,因此请确保始终git merge --no-ff)。

答案 1 :(得分:2)

我解决自己的问题后,每天与GitLab一起工作几年来管理很多项目如下:

  • 为一切创建一个问题(bug,新功能ecc)。描述问题/想法而不是你如何解决它
  • 开始工作时创建一个新的MR(这可以通过按钮进入问题本身)。这将生成工作分支和MR(作为WIP)
  • 解释您在MR中所做的事情
  • 完成工作后,从标题中删除WIP,然后:
  • 合并MR并删除分支
  • 或:关闭MR并删除分支,如果它没用。

请注意,即使您关闭了MR并删除了分支,提交也将保留在那里(即使不是"直接"可通过git访问),因此您不会丢失任何内容你的工作。

您可以在" reworking"时使用相同的工作流程。分支:我不想错过最初的实现(因为我可以在返工期间添加错误/问题)所以:   - 创建一个新分支,后缀为修订版(例如 -v1 -v2 等)   - 为此分支创建新的MR,记下您的返工/审核   - 通过引用另一个MR来评论原始MR或新MR(它并不重要)(因此它们是"链接")   - 关闭原始MR并删除其分支

这允许我每个项目都有少量的开放分支(通常是合并或关闭),但是有关于已完成工作的文档,并且永远不会丢失单个提交