Git结合tar自动打升级包
背景
最近在看Git,那么看了之后就需要用Git来解决一些工作中遇到的问题,学了不能用在工作中,等于白学。
这次遇到的问题是打包升级的问题,我们公司目前还处于最原始的手工打更新包的状况,每次打包都要找开发要更新的内容,非常非常的麻烦,于是我就想用学习的Git来解决这个问题。
目的
我们的环境有两个,一个是开发环境、另一个是测试环境,那么我希望每次在开发环境都能自动把一个周期内开发改动的内容自动打包出来。我只要down下来用ftp上传到测试环境就行了。
开始
当然,两个环境都需要装上Git。装完之后我需要让两个环境的数据同步。所以要先手工处理一次,然后在两个环境打上相同的Tag。以后,不管开发提交了几次改动,我只要和我上次使用的Tag做比对,就能知道开发做了哪些改动
自动打包
自动打包有两个工作要做,第一步要把改动的文件抓出来,第二步要把他们打包。
抓出改动的文件
我使用的是diff命令,Git中自带了这个功能。
git diff <原来的版本> <现在的版本> --only-name
这条命令就能抓出两个版本中不同的内容。
README.MD
TestTools/mobile/adb.py
TestTools/mobile/adbconfig.py
TestTools/urls.py
TestTools/views.py
static/bootstrap/bootstrap.min.css
static/img/bodyBg.jpg
static/img/bodyBg2.jpg
static/img/bodyBg3.jpg
static/img/test1.jpg
static/img/test2.jpg
static/js/androidbaseinfo.js
static/js/bootstrap.min.js
static/js/bug.js
static/js/commonfunction.js
static/js/jquery-3.0.0.min.js
templates/TestTools/base.html
templates/TestTools/mobileTest/baseinfo.html
比如某次我的工具箱的改动就是这些。
自动打包
在Linux中,打包的命令是tar。
tar -cvf + <文件名> + <打包的文件名>就可以把文件打包出来了,那么,我们第一步的操作,不就是把改动的文件名输出出来么?
通过管道符连接两个句子
Linux中神奇的管道符可谓功能多多。完整的句子如下:
git diff fff3e56 0685a03 --name-only | xargs tar -cvf update.tar
这样当前目录就会多出一个update.tar的压缩包。解压缩出来就是这次改动的更新包了。
最后
我们的环境是Windows的,所以还要研究一下怎么去跑自动化。如果是Linux的,那就非常简单了,写一个shell脚本就能很轻松的实现自动化更新了。
Git结合tar自动打升级包的更多相关文章
- [Git]08 如何自动补全命令
[Git]08如何自动补全命令 如果你用的是 Bash shell,可以试试看 Git 提供的自动完成脚本.下载 Git 的源代码,进入 contrib/completion 目录,会看到一个g ...
- ahk实现git图床自动预览以及转换markdown格式
ahk实现git图床自动预览以及转换markdown格式 软件地址 https://gitee.com/layty/pic/tree/master/app 软件功能: 检测剪切板,如果剪切板有非文本信 ...
- Git中crlf自动转换的坑
新上手一个项目,克隆了代码下来搭环境,一路坑.其中一个sh脚本执行不了,报IOException,java日志除了"找不到文件或文件夹"之外看不出任何信息,手动运行脚本才发现是脚本 ...
- jenkins+maven+git+tomcat+salt自动构建
jenkins 安装步骤 环境: centos7,jdk1.8.0,jenkins2.165,maven3.5.2 一. 安装配置java环境 JDK1.8下载地址:http://www.orac ...
- GIt+jenkins代码自动上线
代码自动上线功能 企业部署代码上线是件比较麻烦的事情,还好我们有jenkins这个持续集成的软件可以帮助我们做很多的事情,现在我们就 来测试用jenkins推送代码上线. 我们这里测试的是一个html ...
- 【转载】一种git commit前自动格式化的方式
查看原文 简介 这个系列为了解决一个问题:自动化的去管理代码风格和格式 前提:Linux,C语言,Clang 如何在每次commit的时候,将代码风格自动格式化后再提交commit,且格式化的内容必须 ...
- 使用 Git Hooks 实现自动项目部署
最近在某服务器上面搭建 git 开发和部署环境,git 开发环境很简单,按照 ProGit 一书的相关知识就可以轻松搞定,实现了类似 Github 的使用 SSH + 私有 Clone 的方式. 关于 ...
- git管理和自动部署项目
当一个项目需要纳入到版本控制的时候,选择的工具还是比较多的,最常见的就是工具有CVS,SVN,GIT等.在平时的开发中视情况而定,从来就没有最好的版本控制工具,只有最适合的工具.在这里我习惯用git来 ...
- putty完全使用手册--多窗口---git提交---连接数据库--自动日志显示
01 putty dev 192.168.3.38 02 cd /home/gongfu/tripb/cranedev02.1 git status git add git commit git pu ...
随机推荐
- k8s 廖老师的分享
https://mp.weixin.qq.com/s/7o8QxGydMTUe4Q7Tz46Diw
- phpmyadmin详细的图文使用教程
做网站用到服务器有很多站长应该都会用到数据库,那么phpmyadmin的使用也会是很多新手站长头大的问题,下面小编详细介绍一下phpmyadmin详细的图文使用教程. 方法/步骤 如何进入ph ...
- HTML自定义滚动条(仿网易邮箱滚动条)转载
它是使用CSS中的伪元素来实现的,主要由以下三个来完成: 1. -webkit-scrollbar:定义滚动条的样式,如长宽. 2. -webkit-scrollbar-thumb:定义滚动条上滑块的 ...
- Codeforces 830D Singer House 动态规划
原文链接https://www.cnblogs.com/zhouzhendong/p/CF830D.html 题解 考虑用 $dp[i][j]$ 表示深度为 $i$ 的树里,有 $j$ 条路径的方案数 ...
- 爬虫2 urllib用法
from urllib import request,parse # 1. 解析数据 # 解析一条 # response = request.urlopen(url='http://httpbin.o ...
- 2017Nowcoder Girl D - 打车
题目描述 妞妞参加完Google Girl Hackathon之后,打车回到了牛家庄. 妞妞需要支付给出租车司机车费s元.妞妞身上一共有n个硬币,第i个硬币价值为p[i]元. 妞妞想选择尽量多的硬币, ...
- Go版GTK:环境搭建(windows)
Go版GTK:环境搭建(windows) https://blog.csdn.net/tennysonsky/article/details/79221507 所属专栏: Go语言开发实战 1 ...
- Strange Towers of Hanoi POJ - 1958(递推)
题意:就是让你求出4个塔的汉诺塔的最小移动步数,(1 <= n <= 12) 那么我们知道3个塔的汉诺塔问题的解为:d[n] = 2*d[n-1] + 1 ,可以解释为把n-1个圆盘移动到 ...
- centos6.5安装/升级到python2.7
https://www.cnblogs.com/harrymore/p/9024287.html
- [Python]Flask 源代码分析-config
flask有一个Config类,含from_object, from_pyfile, from_environ等载入命名空间的方法.载入命名空间的本质是载入一个dict[key]=value的字典. ...