使用shell脚本根据新旧commit_id增量打包更新文件

核心说明

  • git diff --name-only new_commit_id old_commit_id 查看两个提交之间更新的文件
  • xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。
  • zip 打包到压缩程序
#!/bin/bash

date=`date +%Y%m%d`

#git diff new-version old-version --name-only | xargs zip update.zip
#git diff --name-only 7087660ecc73bba974367209ff26819e9409f9b2 ca3b76effaee63d75473184fc3d49c204c71c939

if [ $# -ne 3 ];then
        echo "Usage: command [module name] [new commit id] [old commit id]"
        exit 1;
fi

MODULE_NAME=$1
COMMIT_NEW=$2
COMMIT_OLD=$3

cd ${MODULE_NAME}

FILENAME=update_${MODULE_NAME}_${COMMIT_NEW:0:7}_${COMMIT_OLD:0:7}_${date}.zip

# git diff --name-only ${COMMIT_NEW} ${COMMIT_OLD}  | xargs zip update_${MODULE_NAME}_${COMMIT_NEW:0:7}_${COMMIT_OLD:0:7}_${date}.zip
git diff --name-only ${COMMIT_NEW} ${COMMIT_OLD}  | xargs zip ${FILENAME}

mv ${FILENAME} ../
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 因为原文太长超出字数,Lesson 3 就放在另一篇文章里 How to Use Git and GitHub 标...
    赤乐君阅读 10,732评论 1 5
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,121评论 5 147
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 10,422评论 0 9
  • 很多学习弹琴的孩子,总是解决不了错误百出的问题。老师强调:“一定要认真练琴!”家长使出浑身解数,好说歹说、威逼利诱...
    雒渭阅读 3,841评论 2 4
  • 感动 潘学兵 常常为生活中一些平凡的人和平凡的事而感动。因而,平淡的生活不再平淡,平凡的日子不再平凡。 与好友同游...
    皖南医学院阅读 1,427评论 0 0

友情链接更多精彩内容