保存git版本差异文件并保留目录结构

解释一下,我是想实现这么一个功能,比如发现2018-03-01到2018-03-05之间的提交导致了Android系统出现问题。但是具体哪个git仓库出的问题不清楚,需要分析这段时间都改了啥,需要你把这段时间的修改都导出来。

第一步,生成diff文件

git diff --before:2018-03-05 --after:2018-03-01 > issue.diff

利用repo命令实现在每一个仓库中都执行此命令

repo forall -c "git diff --before:2018-03-05 --after:2018-03-01 > issue.diff"

第二步,连带目录结构一起复制到另外一个文件夹

find  ./ -name issue.diff -exec cp -rp --parents {}  ../issue \;

好了,两条命令下来,我们就可以愉快的把 issue文件夹打包发给别人来处理啦。

知识点
1. git diff 的重定向和时间限制操作
2. repo forall -c 可以在各个仓库都执行此命令
3. find命令中的-exec参数,是一条命令,以\;结尾,{}表示find寻找出来的文件
4. cp命令的–parent参数,可以把目录结构跟着一起复制过去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值