GIT帮助文档翻译之git-archive

      小弟最近在使用git, 找了挺长时间也没有找到git help的中文文档, 所有就萌生了翻译git help文档的想法, 

但深知自己势单力薄,不但英语水平不高, 而且git文档量非常之大, 再加上工作繁忙, 所有想邀请有翻译想法的

人提供帮助, 大家一起做就会很快了, 一起完善就会很好了.

       以下是我翻译的第一篇git-archive,基于git 1.8.0,  因为我使用时间不长很多细节还没有领悟, 所有会有很

多不准确之处,其中标红的部分是我不太明白的, 当然不标红的也有可能是错误的, 希望有人批评指正, 更希望

有人一起来做这个工作.

      这里不能上传附件啊, 有志同道合的朋友可以把你的翻译发我邮邮箱, [email protected]

 我会把它贴出来, 并署上翻译者的大名, 希望能得到大家的帮助, 分享快乐, 快乐分享.

     一定是要基于git 1.8.0才可以啊

git-archive

            名字

               git-archive - 从一棵提交树中创建归档文件

 

            概要

                gitarchive [--format=] [--list] [--prefix=/] []

                           [-o | --output=] [--worktree-attributes]

                           [--remote= [--exec=]]

                           [...] 

            描述

                根据指定的格式, 将一棵提交树所包含的树结构创建为归档文件, 并输出到

                标准输出, 如果指定了参数, 那么将被追加为归档中每个文件

                的文件名前缀.

               

                当给定的ID是tree ID或commit ID(或tag ID)时,git archive会有不同的表现,

                在第一种情况时, 当前时间将作为归档文件里每一个文件的修改时间, 对于后者,

                修改时间会被记录在commit对象中的提交时间所取代.另外,如果使用tar格式,

                commit ID会被记录在归档文件的头部, 可以使用gitget-tar-commit-id提取此

                时间, 对于zip格式的文件, commit ID是作为文件备注存储的.

 

            选项

               --format=

                    归档文件的格式:tar或者zip.如果没有指定此选项, 并且给出了输出文件名,

                    那么会根据文件名来推断归档格式(e.g. 指定输出文件名为"foo.zip", 那么

                   输出文件将以zip格式打包), 否则归档格式为tar.

 

                -l, --list

                    显示所有可用的格式.

 

                -v,--verbose

                    打印归档进度到标准错误输出.

 

                --prefix=/

                    为归档中的每个文件追加一个文件名前缀.

 

                -o, --output=

                    将归档文件输出到 而不是到标准输出.

 

               --worktree-attributes

                    在工作目录的gitattributes下寻找属性. 

 

               

                    可以是后端归档程序能够处理的任何一个选项, 见下一节.

 

               --remote=

                     不是从本地版本库创建归档, 而是从远程版本库创建归档文件.

                     

               --exec=

                     与--remote共同使用,指定执行git-upload-archive时的提供远程路径.

 

               

                    创建归档的tree或者commit ID.

 

               

                    如果没有路径参数, 当前工作目录下的所有文件和子目录, 都会被包含在

                    归档文件中, 如果指定了一个或者多个目录, 仅仅指定的文件或目录才会

                    被包含.

 

            后端附加选项

                zip

                -0

                    只保存文件而不压缩.

 

                -9

                    最高并且最慢的压缩级别. 可以指定1-9之间任何一个数字来调整压缩速度

                    和压缩比.

 

            配置

                tar.umask

                    这个变量用于限制tar归档的权限位, 缺省值是0002, 缺省值关闭了全局

                    可写位, 特殊变量"user"表示会使用归档创建者的umask作为归档文件的

                   权限位. 查看umask(2)获得更详细的信息, 如果指定了--remote, 那么

                   只有远程版本库的配置才会起作用.

 

               tar..command

                    这个变量指定了一个shell命令, gitarchive的输出将通过管道传送给

                    此命令. 这个命令在shell中执行, 把生成的tar文件作为它的标准输入,

                    并且把最终输出输出到它的标准输出.任何一个压缩级别选项都可以传给

                    这个命令(e.g., "-9").如果没有指定格式, 那么就会作为输出

                    文件的扩展名.                   

                   

                    "tar.gz" 和 "tgz"是自动定义的,并默认使用gzip -cn.

                    可以使用用户定义命令来覆盖它.

 

               tar..remote

                    如果为true, 那么远程客户端就可以通过git-upload-archive使用

                    格式. 对于用户定义的格式, 默认为false, 但是对于"tar.gz" 和 "tgz"

                    默认为true.

 

            属性

                   export-ignore

                        如果文件或者目录带有export-ignore属性, 那么就不会被添加到归档

                        文件. 查看gitattributes(5)获得更详细的信息.

 

                   export-subst

                        如果一个文件设置了export-subst属性,那么当git把它添加到归档

                        文件中时, 或扩展几个占位符. 查看gitattributes(5)获得更详细的信息.

 

                    属性值默认从要归档的提交树的.gitattributes里面获得, 如果你想改变输出

                   生成的方式(e.g. 在提交时忘记了在.gitattributes文件中加入export-ignore),

                   必要时可以调整检出的.gitattributes文件, 并使用--worktree-attributes

                  选项. 另外, 可以把归档所有树都要使用的属性放到$GIT_DIR/info/attributes

                   文件中.

 

            示例

                gitarchive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)

                    在当前分支上, 使用最新提交所在的提交树创建归档文件, 并解压到

                    /var/tmp/junk目录.

 

                gitarchive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip > git-1.4.0.tar.gz

                    根据v1.4.0发布版创建一个压缩包.

 

                gitarchive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 > git-1.4.0.tar.gz

                    同上, 但使用内置的tar.gz 处理.

 

                gitarchive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0

                    同上, 但压缩格式是根据输出文件的文件名来推断的.

 

                gitarchive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree}

                       | gzip > git-1.4.0.tar.gz

                    根据1.4.0发布版创建一个压缩包, 但是不加全局扩展的pax头.

 

                gitarchive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip

                    把当前头指针的Documentation目录下的所有文件打包为git-1.4.0-docs.zip.

                    压缩包里面的文件都以git-docs/作为前缀.

                gitarchive -o latest.zip HEAD

                    在当前分支上, 使用最新提交所在的提交树创建一个zip归档文件.

                    注意, 输出文件的格式是从输出文件的扩展名推断出来的.

 

                git configtar.tar.xz.command "xz -c"

                    为了创建LZMA-压缩的归档文件, 配置一个"tar.xz"格式.

                    可以通过指定--format=tar.xz或者通过使用-o foo.tar.xz创建输出文件

                    来使用它.

 

            另见

               gitattributes(5)

   

你可能感兴趣的:(GIT帮助手册)