GitLab:有没有办法将 status/comment 分配给分支?

GitLab: is there a way to assign a status/comment to a branch?

我打算使用 GitLab 来管理 Git 存储库(主要是来自不同硬件供应商的 Linux 内核)。

目前,我正在使用 Gitolite 来管理 Git 服务器上的用户,并使用 MediaWiki 进行调用 "branch table";换句话说,table 其中单个用户报告:

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

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

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

自 "put what everyone is doing in a big file that they always forget to maintain" 以来,我们已经取得了长足的进步。对于问题跟踪器和拉取请求系统,您正在做的事情似乎是多余的。 GitLab 有这些,所以让我们使用它们吧。

  • 为每个任务做一个问题。
    • 在任务之后命名问题,以人类可读的方式命名。
    • 将任务描述和任何其他信息放在问题中。
    • 分配问题的分支维护者。
  • 使用问题编号为该任务创建一个分支。 git branch issue/123
    • 如果您想使用更高级的命名方案,请将分支名称放在问题中(我不建议这样做,保持简单)。
  • 使用问题评论系统进行任何关于 branch/task.
  • 的讨论
  • 为任何状态或类别信息使用问题标签。
  • 准备好合并时,发出拉取请求。
    • 遵循正常的拉取请求流程。
  • 合并后...
    • 删除分支。
    • 关闭问题。

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

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

  • 为所有问题创建问题(错误、新功能 ecc)。描述 problem/idea 而不是你如何解决它
  • 开始工作时创建一个新的 MR(这可以通过按钮进入问题本身来完成)。这会生成一个工作分支和 MR(作为 WIP)
  • 在 MR 中解释你在做什么
  • 工作完成后,从标题中删除 WIP,然后:
  • 合并MR并删除分支
  • 或者:关闭MR,如果没有用就删除分支。

请注意,即使您关闭 MR 并删除分支,提交也会保留在那里(即使无法通过 git 访问 "directly"),因此您不会丢失任何东西你的工作。

你也可以在 "reworking" 分支时使用相同的工作流程:我不想错过原来的实现(因为我可以在返工期间添加 bugs/issue)所以: - 创建一个新分支,带有修订后缀(例如 -v1-v2 等等) - 为这个分支创建一个新的 MR,写下你的 rework/review - 评论原始 MR 或新 MR(这并不重要)并参考另一个 MR(所以它们是 "linked") - 关闭原来的MR并删除它的分支

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