Git打包文件
Git中打包文件是个简单的活,不管是打包全部文件作为release,
还是只压缩更改的文件,一个命令就能搞定。
而且,打包之后目录结构完全不变,这对于覆盖部署来说极其方便。
1打包所有文件
打包master分支的所有文件:
$gitarchive--format=zip--outputmaster.zipmaster
其中,输出格式为zip,输出文件为master.zip。git支持zip和tar两种输出格式。
打包当前分支当前HEAD的所有文件:
$gitarchive--format=zip--outputhead.zipHEAD
打包v1.2标签的所有文件:
$gitarchive--format=zip--outputv1.2.zipv1.2
2打包更改的文件
打包更改文件的原理是:
- 用gitdiff 找出文件列表;
- 用打包命令打包。
也就是说,只要能用找出文件列表,就可以git打包出来。
2.1打包最后修改的文件
先通过gitdiff找到最新版本修改过的文件,再压缩打包这些文件:
$gitarchive--format=zip-oupdate.zipHEAD$(gitdiff--name-onlyHEAD^)
2.2打包最后两个版本修改的文件
总共也是2个版本:
$gitarchive--format=zip-oupdate.zipHEAD$(gitdiff--name-onlyHEAD~2)
2.3打包两个分支之间差别的文件
$gitarchive--format=zip-oupdate.zipHEAD$(gitdiff--name-onlymasterfix-error)
如上,打包master和fix-error分支差异的文件。
参考资料:
- UsingGittocreateanarchiveofchangedfiles.
- 如何讓Git僅匯出在特定版本中新增或修改過的檔案
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法