git提取两次提交或者版本的差异文件并打包成zip压缩包

时间:2022-07-25
本文章向大家介绍git提取两次提交或者版本的差异文件并打包成zip压缩包,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

因为经常要更新服务器,所以尽可能的只把差异文件上传并覆盖有,所以就有了提取差异文件并生成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这个文件夹中。(注意:末尾没有斜杆的话是不会创建文件夹的,会变成文件名前缀)