Git XL 开发者指南:如何从源码构建 Windows 版 Git diff 扩展

发布时间:2026/8/22 15:21:35
Git XL 开发者指南:如何从源码构建 Windows 版 Git diff 扩展 Git XL 开发者指南如何从源码构建 Windows 版 Git diff 扩展【免费下载链接】git-xlGit extension: Makes git-diff work for VBA in Excel workbooks (xls* file types)项目地址: https://gitcode.com/gh_mirrors/gi/git-xlGit XL 是一款开源的 Git 命令行扩展让git diff能够直接对比 Excel 工作簿中的 VBA 代码。本文是一份完整的开发者指南手把手教你在 Windows 上从源码构建 Git XL 可执行文件并打包成标准安装程序全程无需安装 Excel。 先认识 Git XLExcel 专属的 Git diff 扩展平时对 Excel 文件执行git diffGit 只能把它当作二进制文件输出一句二进制文件不同。Git XL 通过注册一个自定义 diff 驱动直接解析工作簿内部的 VBA 模块让对比效果与普通源码文件一样清晰C:\Developergit diff dev..master diff --xl a/Book1.xlsb b/Book1.xlsb --- a/Book1.xlsb/VBA/Module/Module1 b/Book1.xlsb/VBA/Module/Module1 -1,4 1,4 Option Explicit Public Function Version() As String - Version v1.0 Version v1.1 End Function它支持xls、xlt、xla、xlam、xlsx、xlsm、xlsb、xltx、xltm全部常见格式见 src/cli.py 中的FILE_EXTENSIONS定义并使用 Python oletools 直接解析 OLE 文件因此不依赖 Excel 环境。两个核心模块分别是src/diff.py自定义 diff 程序提取并对比 VBA 模块内容src/cli.pygit xl子命令入口负责安装、卸载与环境检查️ 第一步准备 Windows 构建环境开始前请确认系统已安装Git2.8 以上版本Python建议 3.8强烈推荐使用虚拟环境隔离依赖在项目根目录执行python -m venv venv venv\Scripts\activate pip install -r requirements.txtrequirements.txt 中只锁定 3 个依赖非常轻量依赖作用colorama为 diff 输出着色红删绿增oletools解析 OLE 文件并提取 VBA 宏代码pyinstaller将 Python 脚本打包为独立 exe 第二步克隆 Git XL 仓库git clone https://gitcode.com/gh_mirrors/gi/git-xl cd git-xl⚡ 第三步一键构建 Windows 可执行文件按照 BUILDING.md 的说明在仓库根目录下执行构建脚本.\scripts\windows\build.bat该脚本基于 PyInstaller 完成打包最终在仓库根目录生成两个文件git-xl.exe命令行主程序提供install / uninstall / env / version等子命令对应src/cli.pygit-xl-diff.exeGit 实际调用的 Excel 差异对比驱动对应src/diff.py 构建产物为 64 位二进制文件git-xl-x64.exe、git-xl-diff-x64.exe可直接分发给 Windows 用户对方无需安装 Python。✅ 第四步安装并验证构建结果将 exe 所在目录加入PATH后执行全局安装git xl install安装时 Git XL 会自动完成三件事逻辑见src/cli.py中的Installer.install在 gitconfig 中写入diff.xl.command指向git-xl-diff.exe为所有 Excel 扩展名设置*.xlsx diffxl等.gitattributes规则通过.gitignore让 Git 忽略~$开头的 Excel 临时文件如果只想对单个仓库生效可使用git xl install --local。验证是否成功git xl env正常应输出版本号、本地工作目录、.gitattributes与.gitignore路径。随后在一个包含 VBA 代码的 Excel 文件中修改一行代码并git diff若能看到类似开头的diff --xl彩色输出说明构建的 diff 扩展工作正常。 第五步可选打包 Windows 安装程序如果你想生成带安装向导的.exe安装包可以使用 Inno Setup打开scripts/windows/inno-setup-git-xl-installer.iss脚本它会检查两个 exe 是否已构建自动读取版本信息并把安装目录写入系统PATH安装向导的图标与图片资源位于git-xl-logo.ico、git-xl-logo.bmp发布版本前可运行scripts/windows/update-version-info.py从 CI 环境变量读取版本号与提交哈希自动生成git-xl-version-info.py中的文件版本信息并同步更新src/cli.py里的VERSION与GIT_COMMIT常量。❓ 常见问题速查构建报错缺少依赖确认已激活虚拟环境并执行过pip install -r requirements.txt注意 pyinstaller 与 Python 版本的兼容性构建后git diff仍显示二进制检查git xl env输出的路径是否正确必要时重新执行git xl install --local想跑一下测试仓库内置测试位于src/tests/并附带样例工作簿src/tests/Book1.xlsb可直接用 Python 的 unittest 框架运行从克隆仓库到产出可分发的 Windows 安装包整个流程不超过 10 分钟。现在就动手构建你自己的 Git XL 吧【免费下载链接】git-xlGit extension: Makes git-diff work for VBA in Excel workbooks (xls* file types)项目地址: https://gitcode.com/gh_mirrors/gi/git-xl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考