关于 git reset --hard 引发的代码故障(附故障原因及解决方案)
背景
在开发过程中,发生了一次严重的代码故障:
-
同事 A 上线了一个需求,但由于设计原因,代码存在严重的线上故障,需要紧急回滚。
-
除了部署回滚之外,同事 A 使用了
git reset --hard进行代码回滚,然后重新进行了部署发布。表面上看起来没有问题。
在开发过程中,发生了一次严重的代码故障:
同事 A 上线了一个需求,但由于设计原因,代码存在严重的线上故障,需要紧急回滚。
除了部署回滚之外,同事 A 使用了 git reset --hard进行代码回滚,然后重新进行了部署发布。表面上看起来没有问题。
在日常开发中,git 代码管理尤其重要,而回滚操作是开发者的一种必备技能,帮助我们回滚一些错误代码,
然后,回滚代码的操作有多种方式,每种方式都有各自的优势和适用场景,并且都存在一些的坑,本文通过实操详细讲解几种常见回滚操作的区别对比,帮助你在不同场景下选择合适的回滚方案
在日常开发中,我们可能会有这样子的一种需求,需要同时将代码提交到过个git仓库的情况
比如我的代码仓库是在 gitee,但是我又想要使用 gitlab 仓库的 ci/cd 功能,一开始每次提交都要分别推送到两个仓库,不仅麻烦还容易漏推导致版本不一致。后来研究了Git的远程仓库配置,发现只需简单设置就能实现“一次提交,多仓同步”,效率直接翻倍。
DataGrip 可以连接操作多种数据库,比如 mysql、redis、clickhouse等等,因此我们在使用时可以将相同类型的数据库连接源进行分组,也就是创建一个文件夹,放在一起,并且在日常开发中,我们经常会连接多个环境的数据库,比如测试环境、正式环境、开发环境等,对数据源进行分组,可以让我们在使用过程中快速找到对应的数据源进行操作,也可以防止误操作
最近用Element Plus开发页面时,踩了个很典型的坑——列表里用el-image组件做图片预览,点击后预览弹窗居然被下方的el-table表格内容盖住了一半。
用 Markdown 写笔记、写文档久了,发现 Windows 右键菜单里居然没有“新建 Markdown 文件”的选项——每次都要先新建文本文档,重命名改成 .md 后缀,还总忘改扩展名,折腾半天。