git archive 存在删除文件时报错

背景

使用git archive打包两次提交之间的代码时,若中间存在已删除的文件,就会报 fatal:pathspec ‘xxxxxx’ did not match any files
如:

git archive --format=zip HEAD `git diff --name-only XXX1 XXX2` > 201903.zip

方案

获取两次提交之间不同的代码时,添加过滤条件,不取删除的文件即可,添加–diff-filter=ACMR
git diff --diff-filter 可以过滤几种不同的变化:

--diff-filter=[(A|C|D|M|R|T|U|X|B)…[*]]

Added (A), Copied ( C), Deleted (D), Modified (M), Renamed ®, have their type (i.e. regular file, symlink, submodule, …) changed (T), are Unmerged (U), are Unknown (X), or have had their pairing Broken (B).
实例如下:

git archive --format=zip HEAD `git diff --diff-filter=ACMR --name-only XXX1 XXX2` > 201903.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值