mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 23:14:06 +08:00
1 line
8.3 KiB
HTML
1 line
8.3 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-send-pack - 将对象通过 Git 协议推送到另一个存储库</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 send-pack [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [--[no-]signed|--sign=(true|false|if-asked)] [<host>:]<directory> [<ref>…]</pre></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 push</code>这个命令的高级包装,而不是这个。见git-push [1]。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>调用<code>git-receive-pack</code>可能是远程的存储库,并从当前的存储库更新它,发送名为 refs。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>选项</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>--receive-pack=<git-receive-pack></p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>git-receive-pack</code>远程端程序的路径。通过 ssh 推送到远程存储库时有用,而且您没有默认$ PATH 目录中的程序。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--exec=<git-receive-pack></p></div></div><div class="doc-postil"><div class="c-markdown"><p>与--receive-pack = <git-receive-pack>相同。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--all</p></div></div><div class="doc-postil"><div class="c-markdown"><p>而不是明确指定要更新哪些参考,更新所有本地存在的头。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--stdin</p></div></div><div class="doc-postil"><div class="c-markdown"><p>从 stdin 中获取参考列表,每行一个。如果除了此选项外,还在命令行中指定了引用,则 stdin 中的引用将在命令行中的引用之后进行处理。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果<code>--stateless-rpc</code>与此选项一起指定,则参考列表必须采用数据包格式(pkt-line)。每个 ref 必须位于一个单独的数据包中,并且该列表必须以 flush 数据包结尾。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--dry-run</p></div></div><div class="doc-postil"><div class="c-markdown"><p>除了实际发送更新之外,请做其他事</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--force</p></div></div><div class="doc-postil"><div class="c-markdown"><p>通常,该命令拒绝更新远程 ref,该远程 ref 不是用于覆盖它的本地 ref 的祖先。此标志禁用检查。这意味着远程仓库可能会失去提交; 小心使用它。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--verbose</p></div></div><div class="doc-postil"><div class="c-markdown"><p>详细地运行。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--thin</p></div></div><div class="doc-postil"><div class="c-markdown"><p>发送一个“精简”包,该包根据包中未包含的对象以分辨形式记录对象,以减少网络流量。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--atomic</p></div></div><div class="doc-postil"><div class="c-markdown"><p>使用原子事务来更新参考。如果任何一个 ref 没有更新,那么整个 push 将会失败而不改变任何 refs。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--no-signed --sign=(true|false|if-asked)</p></div></div><div class="doc-postil"><div class="c-markdown"><p>GPG-信号 推送请求以更新接收端的 refs,以便通过钩子检查和/或记录。如果<code>false</code>或者<code>--no-signed</code>,不会尝试签名。如果<code>true</code>或者<code>--signed</code>,如果服务器不支持签名推送,推送将失败。如果设置为<code>if-asked</code>,则当且仅当服务器支持签名推送时签名。如果实际的调用<code>gpg --sign</code>失败,推送也会失败。有关接收端的详细信息,请参阅 git-receive-pack [1]。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--push-option=<string></p></div></div><div class="doc-postil"><div class="c-markdown"><p>将指定的字符串作为推送选项传递给服务器端的挂钩使用。如果服务器不支持推送选项,则出错。有关详细信息,请参阅 git-push [1]和 githooks [5]。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><host></p></div></div><div class="doc-postil"><div class="c-markdown"><p>一个远程主机来存放版本库。当这部分被指定时,通过ssh调用<code>git-receive-pack</code>。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><directory></p></div></div><div class="doc-postil"><div class="c-markdown"><p>要更新的存储库。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><ref>…</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"><p>有三种方法可以指定在远程端更新哪些参考。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>使用<code>--all</code>标志,本地存在的所有参考将转移到远程方。如果您使用此标志,则不能指定任何<code><ref></code>内容。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果没有<code>--all</code>和没有<code><ref></code>,本地和远端存在的头都会更新。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>当明确指定一个或多个<code><ref></code>(无论是在命令行还是通过<code>--stdin</code>)时,它可以是单个模式,也可以是由冒号“:”分隔的一对这样的模式(这意味着 ref 名称不能包含冒号它)。一个模式<code><name></code>只是一个<code><name>:<name></code>简写。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>每个模式对由源端(冒号前)和目标端(冒号后)组成。要推送的引用是通过找到匹配源端的匹配来确定的,并且推送的位置由目标端确定。用于匹配 ref 的规则与用于<code>git rev-parse</code>解析符号 ref 名称的规则相同。参见 git-rev-parse [1]。</p></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p>如果<src>不完全匹配一个本地引用,那是错误的。</p></li><li><p>如果<dst>匹配多个远程引用,那是错误的。</p></li><li><p>如果<dst>与任何远程参考不匹配</p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><pre class="prism-token token language-js">- it has to start with "refs/"; <dst> is used as the destination literally in this case.</pre></div></div><div class="doc-postil"><div class="c-markdown"><pre class="prism-token token language-js">- <src> == <dst> and the ref that matched the <src> must not exist in the set of remote refs; the ref matched <src> locally is used as the name of the destination.</pre></div></div><div class="doc-postil"><div class="c-markdown"><p>如果没有<code>--force</code>,<src> ref仅在<dst>不存在的情况下存储在远程,或者<dst>是<src>的真子集(即祖先)。此检查称为“快进检查”,以避免意外覆盖远程参考并丢失其他人的提交。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>与此同时<code>--force</code>,所有裁判都禁用快进检查。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>可选地,一个<ref>参数可以带有加<code>+</code>号前缀以禁用仅在该 ref 上的快进检查。</p></div></div></div> |