news 2026/5/6 23:24:36

【自我提升】项目升级-Beyond Compare效率工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【自我提升】项目升级-Beyond Compare效率工具

写在前面:最近接手一个项目,这个项目集成了许多开源项目,其中我需要对其中一个开源项目进行升级操作。在此记录升级过程和心得,希望可以给各位道友提供一种思路,同时也希望道友有更好的办法能分享在评论区。

项目场景

有一个平台项目,集成了许多开源项目,假设其中有datart可视化这个开源项目,这个项目的版本为1.0.0-rc.2 Release,并且根据公司的业务实现了一些自定义内容。现在你需要将这个项目升级到1.0.0-rc.3 Release。

升级分析

  • 升级有公司自定义内容,不能盲目复制粘贴。
  • 刚接手项目对业务功能不是很清楚,最好能从源码知道哪些代码进行了变动。
  • 对升级部分最好和Github上的升级日志能找到出处,这样后续回滚代码心里也有底。
  • 一定要对项目提前做好备份,,以防万一。

升级思路

  1. 阅读开源项目的升级日志,了解功能变化(优化、BUG修复、功能增强)。
  2. 下载当前项目的源代码和升级目标版本的源代码。
  3. 核对官网两个版本之间源代码变化文件(作为了解,心中有数)
  4. 核对官网旧版本与公司项目之间的区别(了解公司变化了那些代码)
  5. 根据实际情况可以选择改造开源项目,或者是给公司项目做加法(我的项目配置比较多,我用的这种)。

核对源代码,如果是常规方法,将文件复制粘贴对比,这确实是庞大的工作量,望而却步。但活用工具,可事半功倍,无需多少操作。由于公司项目不宜透露,所以下面我以开源项目datart 1.0.0-rc.2 Release升级到 1.0.0-rc.3 Release版本为例,展开本文。

比对神器-Beyond Compare

关于Beyond Compare的安装,可自行百度。网上并没有多少实用的实战教程,所以本文注重实战操作,不在对安装造轮子了。进入后首页如下所示:

1. 新建会话

如下图,升级对比差异,选择创建文件夹比较差异。

2. 选择比对文件

个人习惯喜欢将左边放新版本,右边放旧版本。这个根据自己的习惯来,并没有多大的影响。这里以datart2.0和3.0版本比对为例,选择文件如下图所示:

3. 设置会话

我们进行比较的时候,一般只想关注到哪些文件内容发生了变化,例如文件大小、修改日期这些属性,很多时候不想让他们成为差异比对的目标,所以要进行设置。步骤如下:

  1. 点击会话
  2. 会话设置
  3. 点击比较
  4. 在快速测试下面取消勾选比较文件大小和比较时间戳。

4. 设置排除项

项目中的.gitee、.github之类的文件我们一般不想让他们参与比较,所以可设置排除,不参与比较。一般选择任意一边,右键选择排除,两边都可以排除掉(文件相同的情况下)。

ps:点击中间区域,会选择到两边的文件。

5. 内容比较(核心)

进行内容比较前,我们如果一个个文件打开比较,那效率简直太低。直接执行批量操作。

(1)展开全部文件夹

  1. 点击编辑
  2. 点击展开全部

展开后,所有文件清晰可见,无需手动展开,费时费力。

(2)选择所有文件

  1. 点击编辑
  2. 选择所有文件

(3)比较文件内容

  1. 点击操作
  2. 点击比较内容
  3. 选择基于规则的比较
  4. 点击开始

(4)比对结果分析

  • 红色的为差异文件,可根据此推断修改。
  • 紫色的为项目独有,可根据此推断新增和删除。
  • 灰色文件内容相同。

差异文件分布太散,可进一步对视图设置。点击视图,选择显示差异,这样就可以看到项目中两个版本所有变化的文件了。

(5)文件内部

任意进入一个差异文件,可见对比内容差异。这个操作和GIt或SVN的功能一致,根据代码选择接受的部分,最后再ctrl+s保存即可。这样就完成了代码的更新。

6. 生成报告

  1. 点击会话
  2. 选择文件夹比较报告
  3. 根据需求可选择输出选项,这里选择HTML报告
  4. 设置标题
  5. 可进行浏览器浏览和另存为操作等。

生成内容如下所示:

7. 保存会话

如果下次还想查看本次的比较结果,可进行下面操作:

  1. 点击会话
  2. 选择保存会话
  3. 设置保存的名称和目录
  4. 确定即可

这个软件的功能很丰富,还有很多便捷操作,可以多多尝试和探索!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 23:23:24

League Akari:基于模块化架构的英雄联盟客户端工具箱技术解析

League Akari:基于模块化架构的英雄联盟客户端工具箱技术解析 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一个基…

作者头像 李华
网站建设 2026/5/6 23:22:53

暗黑2重制版自动化脚本Botty终极指南:解放双手的像素级智能助手

暗黑2重制版自动化脚本Botty终极指南:解放双手的像素级智能助手 【免费下载链接】botty D2R Pixel Bot 项目地址: https://gitcode.com/gh_mirrors/bo/botty 还在为重复的刷怪流程感到枯燥乏味吗?Botty作为专业的暗黑2重制版像素级自动化脚本&…

作者头像 李华
网站建设 2026/5/6 23:20:13

如何快速上手Bluge:10个实用索引技巧与最佳实践

如何快速上手Bluge:10个实用索引技巧与最佳实践 【免费下载链接】bluge indexing library for Go 项目地址: https://gitcode.com/gh_mirrors/bl/bluge Bluge是一款用Go语言开发的现代文本索引库,提供高性能的全文检索能力。本文将分享10个实用的…

作者头像 李华
网站建设 2026/5/6 23:12:30

你为什么总是入门 Rust 失败

文章目录你为什么总是入门 Rust 失败用“旧思维”学 Rust过度追求完全理解一开始就写复杂项目真正有效的 Rust 入门路径你为什么总是入门 Rust 失败 如果你正在学习 Rust,或者曾经尝试学过 Rust,大概率会有这种感受,明明跟着教程敲完了所有代…

作者头像 李华