uTools-Manuals/docs/git/git archive.html
2019-04-08 23:22:26 +08:00

1 line
10 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="c-markdown doc-markdown"><div class="doc-postil"><div class="c-markdown"><h2>命名</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>git-archive  - 从命名树创建文件的存档</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>概要</h2></div></div><div class="doc-postil"><div class="c-markdown"><pre class="prism-token token language-javascript">git archive [--format=&lt;fmt&gt;] [--list] [--prefix=&lt;prefix&gt;/] [&lt;extra&gt;]              [-o &lt;file&gt; | --output=&lt;file&gt;] [--worktree-attributes]              [--remote=&lt;repo&gt; [--exec=&lt;git-upload-archive&gt;]] &lt;tree-ish&gt;              [&lt;path&gt;…]</pre></div></div><div class="doc-postil"><div class="c-markdown"><h2>描述</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>创建包含指定树的树结构的指定格式的存档,并将其写入标准输出。如果指定了&lt;前缀&gt;,则它将预置为归档文件中的文件名。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git archive</code>在给定树ID时与给定提交ID或标签ID时的行为不同。在第一种情况下当前时间用作档案中每个文件的修改时间。在后一种情况下将使用记录在所引用的提交对象中的提交时间。此外如果使用tar格式提交ID将存储在全局扩展pax标头中; 它可以使用提取<code>git get-tar-commit-id</code>。在ZIP文件中它被存储为文件注释。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>选项</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>--format=&lt;fmt&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>结果存档的格式:<code>tar</code><code>zip</code>。如果没有给出这个选项并且指定了输出文件那么如果可能的话从文件名中推断格式例如写入“foo.zip”使得输出为zip格式。否则输出格式是<code>tar</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>-l   --list</p></div></div><div class="doc-postil"><div class="c-markdown"><p>显示所有可用的格式。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-v   --verbose</p></div></div><div class="doc-postil"><div class="c-markdown"><p>将进展报告给stderr。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--prefix=&lt;prefix&gt;/</p></div></div><div class="doc-postil"><div class="c-markdown"><p>在档案中的每个文件名前加上&lt;prefix&gt; /。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-o &lt;file&gt;   --output=&lt;file&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>将存档写入&lt;file&gt;而不是stdout。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--worktree-attributes</p></div></div><div class="doc-postil"><div class="c-markdown"><p>在工作树中查找.gitattributes文件中的属性请参阅ATTRIBUTES</p></div></div><div class="doc-postil"><div class="c-markdown"><p>&lt;extra&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>这可以是存档器后端了解的任何选项。请参阅下一节。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--remote=&lt;repo&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>无需从本地存储库创建tar归档文件可以从远程存储库中检索tar归档文件。请注意远程存储库可能会限制允许使用哪个sha1表达式<code>&lt;tree-ish&gt;</code>。有关详细信息请参阅git-upload-archive [1]。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--exec=&lt;git-upload-archive&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>与--remote一起用于指定<code>git-upload-archive</code>远程端的路径。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>&lt;tree-ish&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>该树或承诺生成一个档案。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>&lt;path&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果没有可选的路径参数,则当前工作目录的所有文件和子目录都将包含在归档中。如果指定了一个或多个路径,则只包含这些路径。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>后端额外选项</h2></div></div><div class="doc-postil"><div class="c-markdown"><h3>压缩</h3></div></div><div class="doc-postil"><div class="c-markdown"><p>-0</p></div></div><div class="doc-postil"><div class="c-markdown"><p>存储文件而不是缩小它们。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-9</p></div></div><div class="doc-postil"><div class="c-markdown"><p>最高和最低的压缩级别。您可以指定1到9之间的任何数字来调整压缩速度和比率。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>组态</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>tar.umask</p></div></div><div class="doc-postil"><div class="c-markdown"><p>这个变量可以用来限制tar归档项的权限位。默认值是0002这将关闭世界写入位。特殊值“user”表示将使用归档用户的umask。有关详细信息请参阅umask2。如果<code>--remote</code>使用,则只有远程存储库的配置才会生效。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>tar.&lt;format&gt;.command</p></div></div><div class="doc-postil"><div class="c-markdown"><p>该变量指定一个shell命令通过该命令应该通过其管理生成的tar输出<code>git archive</code>。该命令使用带有标准输入上生成的tar文件的shell来执行并且应该在其标准输出上生成最终输出。任何压缩级别选项都将传递给命令例如“-9”<code>&lt;format&gt;</code>如果没有给出其他格式,则具有相同扩展名的输出文件将使用此格式。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>“tar.gz”和“tgz”格式是自动定义的默认为<code>gzip -cn</code>。您可以使用自定义命令覆盖它们。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>tar.&lt;format&gt;.remote</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果为true<code>&lt;format&gt;</code>通过git-upload-archive [1]为远程客户端启用。对于用户定义的格式默认为false但对于“tar.gz”和“tgz”格式则为true。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>属性</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>export-ignore</p></div></div><div class="doc-postil"><div class="c-markdown"><p>带有export-ignore属性的文件和目录不会被添加到归档文件中。有关详细信息请参阅gitattributes [5]。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>export-subst</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果将属性export-subst设置为文件那么在将该文件添加到存档时Git将展开多个占位符。有关详细信息请参阅gitattributes [5]。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>请注意,属性默认取自<code>.gitattributes</code>正在归档的树中的文件。如果你想调整事实后产生输出的方式例如你没有在其中添加一个适当的export-ignore<code>.gitattributes</code><code>.gitattributes</code>提交),根据需要调整检出的文件并使用<code>--worktree-attributes</code>选项。或者,您可以保留在归档<code>$GIT_DIR/info/attributes</code>文件中的任何树时应用的必要属性。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>例子</h2></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ &amp;&amp; tar xf -)</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>创建一个包含当前分支上最新提交内容的tar归档文件并将其提取到<code>/var/tmp/junk</code>目录中。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip &gt;git-1.4.0.tar.gz</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>为v1.4.0版本创建一个压缩tarball。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 &gt;git-1.4.0.tar.gz</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>同上但使用内置的tar.gz处理。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git archive --prefix=git-1.4.0/ -o git-1.4.0.tar.gz v1.4.0</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>与上面相同,但格式是从输出文件中推断出来的。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip &gt;git-1.4.0.tar.gz</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>为v1.4.0发行版创建压缩tarball但没有全局扩展pax标头。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ &gt; git-1.4.0-docs.zip</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>将所有内容放入当前头文件/目录中<code>git-1.4.0-docs.zip</code>,并加上前缀<code>git-docs/</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git archive -o latest.zip HEAD</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>创建一个Zip存档其中包含当前分支上最新提交的内容。请注意输出格式是由输出文件的扩展名推断的。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git config tar.tar.xz.command "xz -c"</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>配置一个“tar.xz”格式来制作LZMA压缩的tarfiles。您可以使用它来指定<code>--format=tar.xz</code>或创建一个输出文件<code>-o foo.tar.xz</code></p></div></div></div>