git导出代码
1.快速查询
$git archive --format zip --output "./output.zip" master -0
- ./output.zip 是生成的文件
- master是项目名或分支名
- -0是压缩等级,0表示只存储,可选 -1(速度快) -9(质量好)
2.详细教程
使用 git archive 可以导出代码,具体可以看
$git archive
用法:git archive [选项] <树或提交> [<路径>...]
或:git archive --list
或:git archive --remote <版本库> [--exec <命令>] [选项] <树或提交> [<路径>...]
或:git archive --remote <仓库> [--exec <命令>] --list --format <格式> 归档格式
--prefix <前缀> 为归档中每个路径名加上前缀
-o, --output <文件> 归档写入此文件
--worktree-attributes
读取工作区中的 .gitattributes
-v, --verbose 在标准错误上报告归档文件
-0 只存储
-1 压缩速度更快
-9 压缩效果更好 -l, --list 列出支持的归档格式 --remote <仓库> 从远程仓库(<仓库>)提取归档文件
--exec <命令> 远程 git-upload-archive 命令的路径
或者
$git help archive
GIT-ARCHIVE(1) Git Manual GIT-ARCHIVE(1) NAME
git-archive - Create an archive of files from a named tree SYNOPSIS
git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
[-o <file> | --output=<file>] [--worktree-attributes]
[--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
[<path>...] DESCRIPTION
Creates an archive of the specified format containing the tree structure for the named tree, and writes it out to the standard output. If <prefix> is
specified it is prepended to the filenames in the archive. git archive behaves differently when given a tree ID versus when given a commit ID or tag ID. In the first case the current time is used as the modification
time of each file in the archive. In the latter case the commit time as recorded in the referenced commit object is used instead. Additionally the commit ID
is stored in a global extended pax header if the tar format is used; it can be extracted using git get-tar-commit-id. In ZIP files it is stored as a file
comment. OPTIONS
--format=<fmt>
Format of the resulting archive: tar or zip. If this option is not given, and the output file is specified, the format is inferred from the filename if
possible (e.g. writing to "foo.zip" makes the output to be in the zip format). Otherwise the output format is tar. -l, --list
Show all available formats. -v, --verbose
Report progress to stderr. --prefix=<prefix>/
Prepend <prefix>/ to each filename in the archive. -o <file>, --output=<file>
Write the archive to <file> instead of stdout. --worktree-attributes
Look for attributes in .gitattributes files in the working tree as well (see the section called “ATTRIBUTES”). <extra>
This can be any options that the archiver backend understands. See next section. --remote=<repo>
Instead of making a tar archive from the local repository, retrieve a tar archive from a remote repository. --exec=<git-upload-archive>
Used with --remote to specify the path to the git-upload-archive on the remote side. <tree-ish>
The tree or commit to produce an archive for. <path>
Without an optional path parameter, all files and subdirectories of the current working directory are included in the archive. If one or more paths are
specified, only these are included. BACKEND EXTRA OPTIONS
zip
-0
Store the files instead of deflating them. -9
Highest and slowest compression level. You can specify any number from 1 to 9 to adjust compression speed and ratio. CONFIGURATION
tar.umask
This variable can be used to restrict the permission bits of tar archive entries. The default is 0002, which turns off the world write bit. The special
value "user" indicates that the archiving user’s umask will be used instead. See umask(2) for details. If --remote is used then only the configuration of
the remote repository takes effect. tar.<format>.command
This variable specifies a shell command through which the tar output generated by git archive should be piped. The command is executed using the shell
with the generated tar file on its standard input, and should produce the final output on its standard output. Any compression-level options will be
passed to the command (e.g., "-9"). An output file with the same extension as <format> will be use this format if no other format is given. The "tar.gz" and "tgz" formats are defined automatically and default to gzip -cn. You may override them with custom commands. tar.<format>.remote
If true, enable <format> for use by remote clients via git-upload-archive(1). Defaults to false for user-defined formats, but true for the "tar.gz" and
"tgz" formats.
ATTRIBUTES
export-ignore
Files and directories with the attribute export-ignore won’t be added to archive files. See gitattributes(5) for details. export-subst
If the attribute export-subst is set for a file then Git will expand several placeholders when adding this file to an archive. See gitattributes(5) for
details. Note that attributes are by default taken from the .gitattributes files in the tree that is being archived. If you want to tweak the way the output is
generated after the fact (e.g. you committed without adding an appropriate export-ignore in its .gitattributes), adjust the checked out .gitattributes file as
necessary and use --worktree-attributes option. Alternatively you can keep necessary attributes that should apply while archiving any tree in your
$GIT_DIR/info/attributes file.
EXAMPLES
git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)
Create a tar archive that contains the contents of the latest commit on the current branch, and extract it in the /var/tmp/junk directory. git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz
Create a compressed tarball for v1.4.0 release. git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 >git-1.4.0.tar.gz
Same as above, but using the builtin tar.gz handling. git archive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0
Same as above, but the format is inferred from the output file. git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip >git-1.4.0.tar.gz
Create a compressed tarball for v1.4.0 release, but without a global extended pax header. git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip
Put everything in the current head’s Documentation/ directory into git-1.4.0-docs.zip, with the prefix git-docs/. git archive -o latest.zip HEAD
Create a Zip archive that contains the contents of the latest commit on the current branch. Note that the output format is inferred by the extension of
the output file. git config tar.tar.xz.command "xz -c"
Configure a "tar.xz" format for making LZMA-compressed tarfiles. You can use it specifying --format=tar.xz, or by creating an output file like -o
foo.tar.xz. SEE ALSO
gitattributes(5) GIT
Part of the git(1) suite Git 1.9.1 03/21/2016 GIT-ARCHIVE(1)
git导出代码的更多相关文章
- 用Git导出项目
Git没有SVN的导出功能,不能像 svn export url 那样,将某个版本的代码导出为不带版本控制文件的文件夹. Git提供了archive命令,可以把版本的文件流导出. 可以将Git ...
- 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...
- git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode.
git 提交代码是会遇到以下问题, git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode. If ...
- 如何清洗 Git Repo 代码仓库
git prune 如何清洗 Git Repo 代码仓库 在腾讯云上创建您的SQL Cluster>>> » 相信不少团队的代码仓库 Git Repo 变得越来越大. ...
- 软工实践练习一——使用Git进行代码管理心得
在github.com的操作 注册 创建Organization 将指定代码库fork到小组Organization下 在Organization下创建repository 这些操作在学校的机房已经完 ...
- 软工实践练习——使用Git进行代码管理
GITHUB上的预备活动: 注册 创建小组Organization,邀请组员进来 将代码库fork到小组Organization底下 下载并使用GIT: Git的安装 使用Git进行代码管理 1.从百 ...
- 软工实践练习——使用git进行代码管理心得
一.在Github上注册账户.其中创建organization在小组成员的账户上创建,并在其账户上创建了小组的版本库.在创建organization的过程中,参考了助教提供的博客:http://sef ...
- [转]如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
本文转自:http://www.cnblogs.com/stg609/p/3673782.html 开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framew ...
- 用开源中国(oschina)Git管理代码(整合IntelliJ 13.1.5)
简介 开源中国提供了Git服务(地址:http://git.oschina.net/),在速度上比国外的github要快很多.使用了一段时间,感觉很不错.oschina git提供了演示平台,可以运行 ...
随机推荐
- sanic官方文档解析之路由
1,路由,路由相当于一个网址的地址,来确定网址的位置和唯一性 当http://server.url/被允许访问服务器,当最后的"/"通过路由匹配到了业务逻辑处理的函数,将会返回一个 ...
- PHP获取类名及所有函数名
PHP获取当前类名.方法名 __CLASS__ 获取当前类名 __FUNCTION__ 当前函数名(confirm) __METHOD__ 当前方法名 (bankcard::confirm) _ ...
- ie下文件上传无权访问的问题
最近项目遇到个问题,ie下文件上传无权访问,在网上找了很久才找到答案,原来是因为ie下不能用js触发input=file的点击事件,必须手动点击才可以.
- ros使用时的注意事项&技巧2
1.查看参数列表 rosparam list 2.查询参数rosparam get parameter_name,如rosparam get /rosdistro 3.设置参数rosparam set ...
- 【bzoj3282】Tree
LCT模板题: 话说xor和的意思是所有数xor一下: #include<iostream> #include<cstdio> #include<cstring> ...
- 软件安全测试新武器 ——浅谈基于Dynamic Taint Propagation的测试技术
软件安全测试是保证软件能够安全使用的最主要的手段,如何进行高效的安全测试成为业界关注的话题.多年的安全测试经验告诉我们,做好软件安全测试的必要条件是:一是充分了解软件安全漏洞,二是拥有高效的软件安全测 ...
- 内部类 final变量的生命周期
(1).内部类是外部类的一个成员,就像外部类的成员方法一样,所以内部类有权限访问外部类的所有成员,包括private的. (2).内部类不能访问外部类方法中的局部变量,除非变量是final的(一般发生 ...
- HBase集群出现NotServingRegionException问题的排查及解决方法
HBase集群在读写过程中,可能由于Region Split或Region Blance等导致Region的短暂下线,此时客户端与HBase集群进行RPC操作时会抛出NotServingRegionE ...
- asp.net core zipkin
微服务监控zipkin+asp.net core 0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 监控目录:微服务监控zipkin.skywalking以及日志ELK监控系列 一 ...
- Objective-C Runtime(二)消息传递机制
在对象上调用方法是包括Objective-C的众多语言都具备的功能.但在Objective-C中,这个术语叫『传递消息』(pass a message).『消息』有「名称」(name)或「选择子」(s ...