导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

侧边栏
最新评论
广树
2024-07-25 19:11
@Chlorine:好的大佬!珍惜现有的大学生活吧,未来的强度可能会更高🤭。
Chlorine
2024-07-25 18:23
@广树:真说不上大佬,只是一个被大二即将到来的高强度课程吓破胆的小菜鸡(/TДT)/
广树
2024-07-25 09:06
@Chlorine:爱学习的大佬!
Chlorine
2024-07-25 08:28
hhh,学习 C++——吉,那就学 DSA (数据结构)去啦 awa
广树
2024-07-24 21:00
@Jacylunatic:还没预约上呢🤭
正在攻略

あおかなEXTRA1

黑白的莫比乌斯.jpg


PSN奖杯卡

PSN奖杯卡

赞助商广告

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

作者:广树时间: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这个文件夹中。(注意:末尾没有斜杆的话是不会创建文件夹的,会变成文件名前缀)