高效Git-快速定位问题版本

2024/04/29 | 字数508 | 阅读2分钟


Git库上的代码突然出现问题,想快点确定哪次提交导致的问题,要怎么做?

这种事经常发生,但是估计没人想要做这种问题定位,不但没有技术含量,而且无聊。比较有效的方案是:

  1. 确定范围,可以参考每日编译的版本和测试结果。如果没有的话,可以以周为单位或者几天为单位,按时间间隔线性递减;
  2. 在范围内采用使用二分查找,每次取范围内的中间点版本,重新BUILD和测试;
  3. 重复步骤2,直到定位到问题版本为止;

为了保证问题的快速定位,日常的功夫要做足,通过下面的工程化实践来解决:

  1. 每日编译 / 按commit编译,生成软件版本;
  2. 自动化部署到测试环境;
  3. 自动化测试,记录测试结果和版本信息;如果有问题发生,邮件主送代码提交者,并抄送全员;
  4. 至少保留最近一个30天的历史记录;
  5. 所有开发者都可以访问上述信息;
  6. 工具支撑:
    • 针对问题,编写一个自动化的测试用例
    • 一个通用工具根据二分法切换版本,并BUILD版本
    • 将软件安装到测试环境,执行上面的测试用例,根据测试结果决定后续操作;
      • 测试通过:向时间增加方向取版本;
      • 测试失败:向时间减小方向取版本;
    • 重复上面的步骤,直到找到最近一次失败的版本为止(结束条件:前一个版本成功,后一个版本失败,这个失败的版本就是我们要找的版本);
上一篇:高效Git-命令别名 下一篇:高效Git-如何快速下载代码

【文章不错,鼓励一下】