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

1 line
8.4 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-fsck  - 验证数据库中对象的连通性和有效性</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 fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]         [--[no-]full] [--strict] [--verbose] [--lost-found]         [--[no-]dangling] [--[no-]progress] [--connectivity-only]         [--[no-]name-objects] [&lt;object&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>验证数据库中对象的连通性和有效性。</p></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>作为不可达跟踪头的对象。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果没有给定对象,则<code>git fsck</code>默认使用索引文件,<code>refs</code>命名空间中的所有SHA-1引用以及所有reflog除非给出--no-reflogs作为首部。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--unreachable</p></div></div><div class="doc-postil"><div class="c-markdown"><p>打印出存在但不能从任何参考节点到达的对象。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--no-dangling</p></div></div><div class="doc-postil"><div class="c-markdown"><p>打印存在但从未<code>directly</code>使用的对象(默认)。<code>--no-dangling</code>可以用来从输出中省略这些信息。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--root</p></div></div><div class="doc-postil"><div class="c-markdown"><p>报告根节点。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--tags</p></div></div><div class="doc-postil"><div class="c-markdown"><p>报告标签。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--cache</p></div></div><div class="doc-postil"><div class="c-markdown"><p>考虑索引中记录的任何对象也可作为不可达性追踪的头节点。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--no-reflogs</p></div></div><div class="doc-postil"><div class="c-markdown"><p>不要将仅由reflog中的条目引用的提交视为可访问。此选项仅用于搜索曾经在ref中的提交但现在不是但仍在相应的reflog中。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--full</p></div></div><div class="doc-postil"><div class="c-markdown"><p>不仅检查GIT_OBJECT_DIRECTORY$ GIT_DIR / objects中的对象还检查在GIT_ALTERNATE_OBJECT_DIRECTORIES或$ GIT_DIR / objects / info / alternates中列出的替代对象池中发现的对象以及在$ GIT_DIR / objects / pack中找到的打包Git存档中的对象以及相应的对象在备用对象池中打包子目录。这现在是默认的; 你可以用--no-full来关闭它。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--connectivity-only</p></div></div><div class="doc-postil"><div class="c-markdown"><p>仅检查标签提交和树对象的连通性。通过避免解开blob这会加快操作速度但会损失丢失的对象或其他有问题的问题。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--strict</p></div></div><div class="doc-postil"><div class="c-markdown"><p>启用更严格的检查即捕获使用旧版Git创建的g + w位集记录的文件模式。现有的存储库包括Linux内核Git本身和稀疏存储库具有触发此检查的旧对象但建议使用此标志检查新项目。</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>--lost-found</p></div></div><div class="doc-postil"><div class="c-markdown"><p>将悬挂对象写入.git / lost-found / commit /或.git / lost-found / other /具体取决于类型。如果对象是blob则将内容写入文件中而不是其对象名称。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--name-objects</p></div></div><div class="doc-postil"><div class="c-markdown"><p>当显示可访问对象的名字时除了SHA-1还显示一个描述它们<strong>如何</strong>到达的名字与git-rev-parse [1]兼容,例如<code>HEAD@{1234567890}~25^2:src/</code></p></div></div><div class="doc-postil"><div class="c-markdown"><p>--no-progress</p></div></div><div class="doc-postil"><div class="c-markdown"><p>当连接到终端时,默认情况下标准错误流会报告进度状态,除非指定--no-progress或--verbose。 - 即使标准错误流未指向终端,进度也会强制进行状态。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>讨论</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>git-fsck测试SHA-1和一般对象的完整性并且完全跟踪由此产生的可达性和其他一切。它打印出它发现的任何损坏丢失或损坏的对象并且如果使用该<code>--unreachable</code>标记,它还将打印出存在但不能从任何指定头节点(或默认设置,如上所述)到达的对象)。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>任何损坏的对象,你必须找到备份或其他档案(即,你可以删除它们,并<code>rsync</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>由于缺乏头部信息,预计会出现悬而未决的承诺 - 潜在负责人</p></div></div><div class="doc-postil"><div class="c-markdown"><p>您没有指定任何节点作为头,因此无法区分未提交的提交和根节点。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>缺少sha1目录<em style="font-style: italic;">&lt;dir&gt;</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>持有sha1对象的目录缺失。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>无法访问&lt;type&gt; &lt;object&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>&lt;type&gt;对象&lt;object&gt;实际上并不直接或间接引用到所看到的任何树或提交中。这可能意味着您没有指定另一个根节点,或者该树已损坏。如果你没有错过根节点,那么你可能会删除无法访问的节点,因为它们不能被使用。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>missing &lt;type&gt; &lt;object&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>&lt;type&gt; object &lt;object&gt;被引用,但不存在于数据库中。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>dangling &lt;type&gt; &lt;object&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>&lt;type&gt; object &lt;object&gt;存在于数据库中,但从未<code>directly</code>使用。一个悬而未决的提交可能是一个根节点。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>sha1 mismatch &lt;object&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>数据库中有一个sha1与数据库值不匹配的对象。这表示严重的数据完整性问题。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>环境变量</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>GIT_OBJECT_DIRECTORY</p></div></div><div class="doc-postil"><div class="c-markdown"><p>用于指定对象数据库的根目录(通常为$ GIT_DIR / objects</p></div></div><div class="doc-postil"><div class="c-markdown"><p>GIT_INDEX_FILE</p></div></div><div class="doc-postil"><div class="c-markdown"><p>用于指定索引的索引文件</p></div></div><div class="doc-postil"><div class="c-markdown"><p>GIT_ALTERNATE_OBJECT_DIRECTORIES</p></div></div><div class="doc-postil"><div class="c-markdown"><p>用于指定其他对象数据库根目录(通常未设置)</p></div></div></div>