广树
2024-11-21 16:04
@hikari:BGM也许是吧,歌曲部分感觉不一定
作者:广树时间:2019-11-26 21:20:14分类:Git
因为经常要更新服务器,所以尽可能的只把差异文件上传并覆盖有,所以就有了提取差异文件并生成ZIP压缩包的需求!
第一步在项目文件夹中右键【Git Bash Here】打开Git Bash,然后输入如下代码:
git archive master --format=zip -o 压缩包名字.zip --prefix=data/ `git diff --name-only --diff-filter=d commitID1 commitID2`
然后按下回车后就会在项目目录下生成zip文件。
理论上除了coomitID外应该还能使用两个版本的Tag名和分支名。
原理:
git diff --name-only --diff-filter=d commit1 commit2
【--name-only】 会将有差异的文件列表输出出来。
【--diff-filter=d】将删除的文件从差异文件列表中筛出。
git archive master --format=zip -o 输出文件名 --prefix=data/
【git archive】会将指定分支的commit归档。
【--format】指定格式(zip或者tar)。
【--prefix=】加不加都无所谓,方便构建压缩文件内的文件夹。这里填写【data/】则最终生成的差异文件都会塞进data这个文件夹中。(注意:末尾没有斜杆的话是不会创建文件夹的,会变成文件名前缀)