Fork me on GitHub

Git抽取版本之间的差异,打包解压

patch.sh文件代码

#!/bin/bash

MY_SAVEIFS=$IFS  
#IFS=$(echo -en "\n\b")  
IFS=$'\n'

build_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
#切换目录
cd "$build_dir"
echo work build dirs: $build_dir

#提取两个版本之间的差异,并且打包
git archive -o ./patch/latest.zip 1.0.14.1-release $(git diff 1.0.13.13-release 1.0.14.1-release --name-only --diff-filter=d | grep -v -E "^(db/|demo/|doc/|src/|build/win/)")
#解压到指定目录
unzip -o ./patch/latest.zip -d ./patch

IFS=$MY_SAVEIFS

patch.sh文件所在的目录结构

  • --build
  • --db
  • --demo
  • --doc
  • --patch
  • --src
  • --.gitattributes
  • --.gitignore
  • --.gitlab-ci.yml
  • --patch.sh
  • --README.md
posted @ 2018-06-27 17:07  VAllen  阅读(1866)  评论(0编辑  收藏  举报