用git diff快速比较文件夹差异并生成报告

思路:使用 git diff 生成差异,再通过 diff2html 渲染成 HTML 报告。

准备动作

1.先安装 diff2html-cli
npm install -g diff2html-cli

2.需要有Linux的terminal

比如Git的Git bash

因为需要用到的 diff 是Unix/Linux 系统自带的命令行工具

通过两个branch对比(需要创建Git仓库)

创建第一个分支

txt 复制代码
# 1. 创建一个新的空文件夹作为临时仓库
mkdir git-diff-temp
cd git-diff-temp

# 2. 初始化 Git 仓库
git init

# 3. 将第一个版本的代码复制到这个文件夹
# 假设你的第一个版本代码在 /path/to/your/first_version
cp -r /path/to/your/first_version/* .

# 4. 将所有文件添加到暂存区并提交
git add .
git commit -m "Initial commit: master version"

创建第二个分支

txt 复制代码
# 1. 创建并切换到名为 'prod_server_code' 的新分支
git checkout -b prod_server_code

# 2. 删除当前目录下的所有文件(为第二个版本腾出空间)
# 注意:-f 是强制删除,请确保你在正确的临时目录下
rm -rf * .[!.]*

# 3. 将第二个版本的代码复制到这个文件夹
# 假设你的第二个版本代码在 /path/to/your/second_version
cp -r /path/to/your/second_version/* .

# 4. 将所有新文件添加到暂存区并提交
git add .
git commit -m "Second commit: prod_server_code version"

然后执行命令

txt 复制代码
# 确保你在 git-diff-temp 目录下
# 生成 HTML 差异报告
git diff master..prod_server_code | diff2html -i stdin -F preview.html

执行完正常的话会在当前目录下生成preview.html, 点开就能看到

一次性比对(不用创建Git仓库)

直接比对两个文件夹(放在同一目录下)

比如:

diff-temp/xxx-prod

diff-temp/xxx-staging

txt 复制代码
# 确保在diff-temp目录下
diff -ruN xxx-prod/ xxx-staging/ | diff2html -i stdin -F preview.html

这样直接生成报告更方便

相关推荐
Ruiery2 小时前
Linux 6.6内核 CPU 深度解析(七):调度器启动 — 从单核到多核,调度器分阶段点亮
linux·运维·服务器
50万马克的面包2 小时前
CSDN-栈队列数组-知识点整理
linux·运维·服务器
wjkjpcba3 小时前
PCBA烧录程序是什么:PCBA包工包料厂家解析烧录与测试
linux·数据库·人工智能·smt贴片加工·pcba贴片加工厂
꯭自꯭闭꯭4 小时前
达梦事物特性及MVCC
linux·运维·数据库
羔羊++5 小时前
18_实验十七_其他命令与自定义启动变量
linux
DYWorker0017 小时前
Linux驱动:RK3568 GMAC + YT8531C 千兆以太网全流程解剖
linux
lisanmengmeng9 小时前
NRPE 添加命令(一)
linux·运维·服务器
树下水月10 小时前
Typora破解
linux·服务器·前端
沫璃染墨10 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
wuminyu10 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++