【问题标题】:GitLab: is there a way to assign a status/comment to a branch?GitLab:有没有办法将状态/评论分配给分支?
【发布时间】:2015-04-04 07:52:34
【问题描述】:

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

目前,我使用 Gitolite 来管理 Git 服务器上的用户,并使用 MediaWiki 来拥有所谓的“分支表”;换句话说,单个用户报告的表格:

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

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

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

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

【问题讨论】:

    标签: git version-control git-branch gitlab


    【解决方案1】:

    在每天使用 GitLab 管理许多项目后,我对自己的问题的解决方案如下:

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

    请注意,即使您关闭 MR 并删除分支,提交仍将保留在那里(即使不能通过 git“直接”访问),因此您不会丢失任何工作。

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

    这使我既可以在每个项目中打开少量的分支(通常是合并或关闭),又可以拥有有关已完成工作的文档,并且永远不会丢失单个提交

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • GitLab 的内置 wiki 可用于不属于特定问题的更一般的文档,例如记录上述过程。
      • IIUC Gitlab 只能将问题直接链接到提交(通常使用“修复 #152”之类的内容),但现在可以将问题链接到分支。用问题编号命名分支是一个很好的线索
      • @Schwern:合并后建议删除分支。这对我来说很好,除了将来很难再次找到分支的事实:您需要查看合并提交描述(报告合并分支的名称)。现在我习惯于删除分支,但也会在其上放置一个标签(合并/分支名称),以便在需要时轻松恢复它。 WDYT? (参考stackoverflow.com/questions/1307114/…
      • @amonthedeamon 我认为标记旧分支没有任何害处,但是 IMO 使用标记对于提交描述是多余的,可能也是问题跟踪器,而且人们会忘记一个额外的步骤。我很少去寻找旧分支,更多的是我想知道特定更改属于哪个问题和分支。为此,我会使用 git blame 和/或搜索提交描述。我主要关心的是,一旦合并,该分支上不再有任何工作。它使分支和问题易于管理,并确保在完成任务时它们完成
      • @amonthedeamon 我想详细说明为什么我不会费心标记旧分支。 stackoverflow.com/a/28352246/14660
      猜你喜欢
      • 2012-04-24
      • 1970-01-01
      • 2023-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 2020-03-18
      相关资源
      最近更新 更多