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 其中单个用户报告:
- 分支名称(例如 xboard-feat-i2c2)
- 分支维护者
- 简短的分支描述(例如 "started from rev 2.0.0, feature branch to implement i2c2 driver on custom hostboard X")
- 分支状态(WIP、测试、准备合并、中止)
- 分支更长的信息(例如"to build this branch you have to change this and do that (in respect to the default instruction). We currently have a problem on this.."等)。在这一部分,我通常也会参考用于测试该特定软件的测试 bed/test 套件。
这里的主要问题是上面的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并删除它的分支
这让我每个项目都有少量打开的分支(通常是合并或关闭)但有关于完成工作的文档并且永远不会丢失单个提交
我打算使用 GitLab 来管理 Git 存储库(主要是来自不同硬件供应商的 Linux 内核)。
目前,我正在使用 Gitolite 来管理 Git 服务器上的用户,并使用 MediaWiki 进行调用 "branch table";换句话说,table 其中单个用户报告:
- 分支名称(例如 xboard-feat-i2c2)
- 分支维护者
- 简短的分支描述(例如 "started from rev 2.0.0, feature branch to implement i2c2 driver on custom hostboard X")
- 分支状态(WIP、测试、准备合并、中止)
- 分支更长的信息(例如"to build this branch you have to change this and do that (in respect to the default instruction). We currently have a problem on this.."等)。在这一部分,我通常也会参考用于测试该特定软件的测试 bed/test 套件。
这里的主要问题是上面的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并删除它的分支
这让我每个项目都有少量打开的分支(通常是合并或关闭)但有关于完成工作的文档并且永远不会丢失单个提交