git导出增量包

最近工作中遇到一个问题,想要获取到git每次上测试的增量包,给大家看看我的解决方法。
通过git自带命令导出分支差异包

git diff-tree -r --no-commit-id --name-only a9fb6b9 | xargs tar -rf /e/202109090.tar
#获取单次commit增量包
git diff-tree -r --no-commit-id --name-only a9fb6b9..a857bd2 | xargs tar -rf /e/202109090.tar
#获取多次commit之间增量包(建议获取超前一次的commit)

这样虽然解决了导出增量包的问题,可是工作所需的.zip包,而windows不支持通过管道输出.zip包,解决方法详见《.tar和.zip之间的转换》。
然而这种导包方式并不会导出删除的文件,这样即使代码中删除了文件,但是环境上还是没有删除此文件,我通过导出commit的日志信息来查看是否有删除的文件,从而实现代码与环境同步。

git show --name-status a9fb6b9 >>/e/20210909.csv
#获取单次commit日志信息
git show --name-status a9fb6b9..a857bd2 >>/e/20210909.csv
#获取多次commit日志信息
#导出参数可变,可根据需要信息选择导出的参数
#.csv文件说明
#D删除文件
#M修改文件
#A新增文件
#R重命名文件

注:可搭配jenkins实现较为方便的导包方式。

为大家介绍一篇文章,关于git生成diff原理,叫做《git生成diff原理:Myers差分算法》里面介绍的非常好,感兴趣可以的朋友可以研究一下。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值