小团队代码管理(2)了解Gitlab中实体与层级结构
1. Gitlab是什么?跟什么类似?
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
以上是百度百科的解释。
Gitlab是一个开源的可以私有部署的代码管理网站软件。
本质上和Github一样,Github是一个免费网站,而Gitlab需要我们自己部署到我们自己的服务器上,所以很适合企业管理不想公开的代码。
2. Gitlab中的实体、概念、定义
- 群组(group):Gitlab用群组来构建负责的组织层级关系,群组下级可以有多个项目,也可以有多个群组。群组也有成员、群组成员拥有下级所有项目的权限。
- 项目(project):Gitlab的项目是代码仓库的基础管理单元,这里与Github相似,很好理解。
- 动态(activity):这是项目下的一个栏目,汇集此项目下所有事件,如代码提交、代码合并、项目重命名、添加成员等各种事件都在这里记录显示。
- 仓库(repository):这也是项目下的一个栏目,与Github相同,主要展示代码文件,分支操作,提交代码,打Tag等代码操作。
- 议题(issue):这也是项目下的一个栏目,与Github相同,Github网站中,这个栏目是开发者与作者交流的地方,类似留言板,作者可解答问题或者审核贡献者的优化代码。在Gitlab中,大家都是同事不需要线上交流,但是可以把议题作为提需求、报BUG的地方。
- 合并请求(merge request):合并请求是远端合并代码的主要方式,合并请求经过项目主要成员同意后,即可将临时分支合并到目标分支中。议题可以附带一个合并请求,方便代码贡献者提交代码。
- 里程碑(milestone):每个里程碑下可以有多个议题,里程碑和议题的组合可以达到轻量的项目需求进度控制的效果。
- 代码片段(snippnet):相当于一个代码段的收藏夹
- CI/CD:自动化功能,自动执行脚本,实现类似Jenkins的功能,可以将提交代码后的打包、部署、运行一系列操作自动化。
- 成员(member):这也是项目下的主要概念,与Github相同,把同事邀请到项目中,赋予权限,一起开发程序。
- 权限(role permission):Gitlab有五级权限,与Github相似,Owner(所有者,拥有项目的最高权限,可删除项目)、Maintainer(主要参与者,拥有除了修改项目本身的所有权限)、Developer(开发者,可拉去推送代码,但不能审核代码)、Reporter(抄送者,只读权限,可以看代码看动态)、Guest(游客,只能看公开代码)
- 标签(tag):软件需要发布版本如1.0.1,一般都会新建一个名为1.0.1的tag。这个tag相当于代码库的还原备份快照。
- 分支(branch):这是仓库下的一个栏目,与Github相同,分支栏目主要用于管理git规则中的分支的增删改查。
- 提交(commit):这也是仓库下的一个栏目,与Github相同,git规则中代码变更都需要提交,提交栏目就是展示每个提交的具体变更内容。
3. 层级
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通