Idea中GitLab几个实用的使用场景案例

1、GitLab安装教程
1.1、查看Linux系统版本

执行命令: cat /etc/redhat-release

arduino 复制代码
CentOS Linux release 7.6.1810 (Core)
1.2、安装 curl,policycoreutils-python,openssh-server服务

执行命令: yum install -y curl policycoreutils-python openssh-server

如果出现如上图所示,则表示依赖服务安装成功

1.3、ssh服务设置开机自启并启动
arduino 复制代码
// SSH服务设置成开机自启动
systemctl enable sshd
// 启动SSH服务
systemctl start sshd
1.4、开启防火墙,阿里云在控制台防火墙策略放开
sql 复制代码
systemctl start firewalld
或者service firewalld  start
1.5、添加http服务到firewalld

允许http服务通过, pemmanent表示永久生效,若不加--permanent系统下次启动后就会失效

css 复制代码
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
1.6、安装Postfix以发送通知邮件,并将postfix服务设置成开机自启动

Linux centos 查看postfix是否已经安装,如果安装过,则无需安装,

perl 复制代码
rpm -qa |grep postfix

安装postfix命令:yum install postfix 设置postfix自启动命令:systemctl enable postfix 启动Postfix命令:systemctl start postfix

1.7、下载GitLab镜像源并安装gitlab服务

下载GitLab镜像源

bash 复制代码
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

安装GitLab服务

css 复制代码
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

可能会报错部分依赖问题,在rpm 语句后面加上 --force --nodeps,忽略依赖则可以 如果出现如下图所示:

1.8、修改GitLab配置文件

vim /etc/gitlab/gitlab.rb,编辑external_url 为gitlab服务器的ip加端口,例如:http://192.168.2.5:8081,保证防火墙开放对应端口;

修改之后执行如下命令

arduino 复制代码
// 重置配置文件
gitlab-ctl reconfigure
// 重启gitlab服务
gitlab-ctl restart
1.9、访问GitLab

首次访问时,需要设置密码,设置完密码使用,使用默认账号登录(Centos 默认为root)

2、Git 代码分支规范
2.1 master分支(prd生产环境)

master 分支 (主分支、稳定分支,不能直接修改代码),用于部署生产环境的分支,确保master分支稳定性;master 分支一般由feature或hotfix分支合并,任何时间都不能直接修改代码;

2.2 release分支(stg预生产环境)

release分支用于预发布环境,与生产环境最接近,代码一般从feature、hotfix分支合并,有些企业内预生产与生产同一个数据库,通过测试组织做数据隔离,也有的企业是stg和prd不同数据库;

2.3 qa分支(qa测试环境)

qa分支一般用于开发人员经过自测通过后,达到提测条件时,将feature分支代码合并到qa分支,供测试人员使用,由测试管控,部分情况qa环境也用于外部联调,一般由测试管控;

2.4 dev分支(开发环境)

dev分支一般用于开发人员前后端联调使用,开发人员可以随时重启服务或者版本发布,管理比较宽松。

2.5 uat分支(uat环境)

uat分支主要用于uat环境,UAT环境,全称为User Acceptance Testing环境,主要用来进行用户验收测试,客户体验与验收、缺陷发现与修复、业务流程验证、用户培训与熟悉。

2.6 feature分支、hotfix分支

1、每一次需求迭代,从产品需求评审、技术设计评审之后,开始研发,通常都是基于master分支拉取一个feature分支用于开发,命名规范一般为feature/20240416_用户管理升级,开发完成后往dev、qa、release、master等分支合并; 2、hotfix分支,用于紧急修复线上bug问题,基于master分支拉取,命名规范为hotfix/20240416_修复导出用户问题,开发完之后往各个环境分支合并; 3、代码合并规范:feature、hotfix分支往dev、qa、release、master分支合并,dev、qa、release、master不可以往feature、hotfix合并,以及分支间不可以交叉合并。

3、Git commit注释规范

对于一般的 commit,我们往往不需要过为详尽的阐述,言简意赅即可,所以,请使用以下的格式:

xml 复制代码
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

type(必须) 用于说明git commit的类别,只允许使用下面的标识:

feat:添加新特性 fix/to fix:产生 diff 并自动修复此问题。适合于一次提交直接修复问题 to:只产生 diff不 自动修复此问题。适合于多次提交。最终修复问题提交时使用 fix docs:仅仅修改了文档 style:仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑 refactor:代码重构,没有加新功能或者修复 bug perf:优化相关,比如提升性能、体验 test:增加测试用例 chore:改变构建流程、或者增加依赖库、工具等 test:增加测试 revert:回滚到上一个版本 merge:代码合并 sync:同步主线或分支的Bug; Git提交commit案例:fix(DAO):用户查询缺少username属性 feat(Controller):用户查询接口开发

4、Git 在idea中使用场景案例
4.1、idea中仓库配置

1、首先在git bash软件控制台执行命令 :将代码工程克隆到本地

bash 复制代码
git clone '仓库地址'

2、在idea中也可以配置多个仓库地址,有时候代码需要提交到多个地方,鼠标右键工程Git/Manage Remotes,配置新的仓库名称: 3、配置完点击确认之后,会提示输入自己的git账号、密码,如果是ssh地址,要输入自己的ssh key;认证成功后就生效。 4、一些基本操作:git pull拉取远程代码,git push 本地代码推送到远程仓库等,详细的可以参考 blog.csdn.net/wuhuagu_wuh... 这一篇csdn的文档 5、可以在idea中直接操作,也可以通过idea的terminal中通过敲命令执行。

4.2、当代码没写完需要切分支该如何处理

很多时候我们在写代码过程中,代码没写完,因为某些原因需要切换分支,这个时候可能很多小伙伴会直接把代码提交了,但对于版本管理来说本次提交没什么意义,我们可以使用如下命令:

arduino 复制代码
// 代码暂存
git stash
// 为本次暂存添加注释
git stash save '暂存一下'
// 查看暂存列表
git stash list
// 恢复暂存文件
git stash pop

使用的命令太多不好记忆,可以在idea操作,右键项目,点击Git,再点击Stash Changes 填写暂存注释之后,点击Create Stash 完成暂存,就可以切换分支处理其他任务; 当需要切换回来时,如下图所示,右键项目,点击Git/Unstash Changes,勾选Pop stash,再点击Pop Stash就恢复暂存前状态。

4.3、将其他分支部分提交合并到某个分支

合并分支有两种操作: 1、需要将A分支的所有代码变动 合并到B 分支,此时可以采用分支合并,可以直接merge; 2、只需要将A分支的几个改动 合并 到B 分支, 不需要全部合并(有些情况下整个分支合并冲突太多处理起来过于麻烦)。可以使用cherry pick . 操作说明:例如,有两个分支 分别为 test1分支和master分支,现要将test1分支的代码合并到master分支上,可按如下步骤, 1、首先我们要将我们自己test分支的代码提交到库中,然后切换到master分支;

2、通过showHistory 查看版本信息,在showHistory中的branch中查看test1分支的代码

可以通过查看每次提交的代码来选择合并,对有冲突的代码手动选择解决 最后再提交到master库中,

3、如果存在冲突,需要按照平时合并的方式处理冲突,如果没有冲突就会提示cherry-pick successful

4、最后记得push到远程仓库。

4.4、代码回退

如果在项目上线前,因为某些原因或者产品经理需求,让某个功能代码不上线,如果那个功能代码刚合到master分支,可以使用git revert功能, 操作步骤: 1、在idea中右键项目,依次点击Git/Show History显示提交记录日志

2、最后记得push代码到远程分支

以上经验都是笔者,结合工作经验总结,如果对您有帮助,请给个三连加关注支持,后续会定期持续化更新技术类知识和经验分享,感谢大家。 点击如下链接可以查看www.bilibili.com/video/BV1N1... 美丽的程序人生开通了个人的公众号,欢迎大家微信搜索美丽的程序人生,给个关注,后续会在公众号更新, 个人的GitHub地址:github.com/zhcyixin/zh... ,欢迎小伙伴克隆下载,如果对您有帮助麻烦给个stars。

相关推荐
bobz9654 小时前
tls ingress 简单记录
后端
皮皮林5515 小时前
IDEA 源码阅读利器,你居然还不会?
java·intellij idea
你的人类朋友5 小时前
什么是OpenSSL
后端·安全·程序员
bobz9655 小时前
mcp 直接操作浏览器
后端
前端小张同学8 小时前
服务器部署 gitlab 占用空间太大怎么办,优化思路。
后端
databook8 小时前
Manim实现闪光轨迹特效
后端·python·动效
武子康9 小时前
大数据-98 Spark 从 DStream 到 Structured Streaming:Spark 实时计算的演进
大数据·后端·spark
该用户已不存在9 小时前
6个值得收藏的.NET ORM 框架
前端·后端·.net
文心快码BaiduComate9 小时前
文心快码入选2025服贸会“数智影响力”先锋案例
前端·后端·程序员
neoooo9 小时前
🌐 Cloudflare Tunnel vs ZeroTier:两个世界的内网穿透哲学
后端