目录
git 归档操作
访问量:6589
一、简介
在git中,有一个比较好用的命令git archive ,是从git tree里面创建归档。格式如下:
git archive 选项 参数
如下:
git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>] [-o <file> | --output=<file>] [--worktree-attributes] [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish> [<path>…]
1、常用选项描述
--format 用来指定归档格式,如 --format=tar
--list 用来查看git支持的归档格式,如下:
git archive --list
--remote用来指定归档的来源,可以指定为远程,即从远程下载归档文件。比如:
git archive --format=tar --remote=git@github.com:dequanLi/codeFragment.git
--prefix指定归档保存的目录,默认是当前文件夹。看到这个选项,手动安装过linux软件的,应该都能够明白,即指定安装目录。如下:
git archive --format=tar --remote=git@github.com:dequanLi/codeFragment.git --prefix=dq/test1/
--output用来指定将归档输出到指定的文件中。默认情况下,归档是输出到stdout中,即标准输出中。如下,将会生成一个 dq.tar归档文件
git archive --format=tar --output=dq.tar
当然,也可以使用linux的重定向,将归档输出到指定的文件中,如下:
git archive --prefix='dqProject/' --format=tar dev > web.tar
2、常用参数
1、指定打包的分支
git archive dev //打包dev分支 git archive master //打包master分支 git archive HEAD //打包HEAD指向的分支,一般是当前分支
2、指定打包的文件
git archive --format=tar --output=dq.tar dev t1.txt t2.txt t3.txt // 打包dev分支t1.txt t2.txt t3.txt 文件
3、打包有修改的文件
打包有修改的文件,其实和打包指定的文件,实质是一样一样的。如下:
git archive --format=tar --output=dq.tar dev $(git diff --name-only HEAD^)
因为 git diff --name-only HEAD^ 能够吧上次修改的文件都罗列出来。
本文为原创文章,请尊重辛勤劳动,如需转载,请保留本文地址
若您感觉本站文章不错,读后有收获,不妨赞助一下?
我要赞助