mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 15:04:05 +08:00
1 line
10 KiB
HTML
1 line
10 KiB
HTML
<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=<fmt>] [--list] [--prefix=<prefix>/] [<extra>] [-o <file> | --output=<file>] [--worktree-attributes] [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish> [<path>…]</pre></div></div><div class="doc-postil"><div class="c-markdown"><h2>描述</h2></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</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=<fmt></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=<prefix>/</p></div></div><div class="doc-postil"><div class="c-markdown"><p>在档案中的每个文件名前加上<prefix> /。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-o <file> --output=<file></p></div></div><div class="doc-postil"><div class="c-markdown"><p>将存档写入<file>而不是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><extra></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=<repo></p></div></div><div class="doc-postil"><div class="c-markdown"><p>无需从本地存储库创建tar归档文件,可以从远程存储库中检索tar归档文件。请注意,远程存储库可能会限制允许使用哪个sha1表达式<code><tree-ish></code>。有关详细信息,请参阅git-upload-archive [1]。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--exec=<git-upload-archive></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><tree-ish></p></div></div><div class="doc-postil"><div class="c-markdown"><p>该树或承诺生成一个档案。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><path></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。有关详细信息,请参阅umask(2)。如果<code>--remote</code>使用,则只有远程存储库的配置才会生效。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>tar.<format>.command</p></div></div><div class="doc-postil"><div class="c-markdown"><p>该变量指定一个shell命令,通过该命令应该通过其管理生成的tar输出<code>git archive</code>。该命令使用带有标准输入上生成的tar文件的shell来执行,并且应该在其标准输出上生成最终输出。任何压缩级别选项都将传递给命令(例如“-9”)。<code><format></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.<format>.remote</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果为true,则<code><format></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/ && 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 >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 >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 >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/ > 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> |