1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.2.5" />
7 <style type=
"text/css">
9 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
11 border: 1px solid red;
16 margin: 1em 5% 1em 5%;
21 text-decoration: underline
;
39 h1
, h2
, h3
, h4
, h5
, h6
{
41 font-family: sans-serif
;
48 border-bottom: 2px solid silver
;
66 border: 1px solid silver
;
81 font-family: sans-serif
;
88 font-family: sans-serif
;
92 font-family: sans-serif
;
94 border-top: 2px solid silver
;
100 padding-bottom: 0.5em;
104 padding-bottom: 0.5em;
108 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
109 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
110 div
.admonitionblock
{
113 margin-bottom: 1.5em;
115 div
.admonitionblock
{
117 margin-bottom: 2.5em;
120 div
.content
{ /* Block element content. */
124 /* Block element titles. */
125 div
.title
, caption
.title
{
126 font-family: sans-serif
;
130 margin-bottom: 0.5em;
136 td div
.title:first-child
{
139 div
.content div
.title:first-child
{
142 div
.content
+ div
.title
{
146 div
.sidebarblock
> div
.content
{
148 border: 1px solid silver
;
155 div
.listingblock
> div
.content
{
156 border: 1px solid silver
;
161 div
.quoteblock
> div
.content
{
168 div
.verseblock
+ div
.attribution
{
172 div
.admonitionblock
.icon
{
176 text-decoration: underline
;
178 padding-right: 0.5em;
180 div
.admonitionblock td
.content
{
182 border-left: 2px solid silver
;
185 div
.exampleblock
> div
.content
{
186 border-left: 2px solid silver
;
190 div
.verseblock div
.content
{
194 div
.imageblock div
.content
{ padding-left: 0; }
195 div
.imageblock img
{ border: 1px solid silver
; }
196 span
.image img
{ border-style: none
; }
200 margin-bottom: 0.8em;
212 list-style-position: outside
;
215 list-style-type: lower-alpha
;
218 div
.tableblock
> table
{
219 border: 3px solid
#527bbd;
222 font-family: sans-serif
;
231 margin-bottom: 0.8em;
239 padding-right: 0.8em;
246 div#footer-badges
{ display: none
; }
251 font-family: sans-serif
;
255 margin-bottom: 0.1em;
258 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
274 include1::./stylesheets
/xhtml11-manpage
.css
[]
275 /* Workarounds for IE6's broken and incomplete CSS2. */
277 div
.sidebar-content
{
279 border: 1px solid silver
;
282 div
.sidebar-title
, div
.image-title
{
283 font-family: sans-serif
;
286 margin-bottom: 0.5em;
289 div
.listingblock div
.content
{
290 border: 1px solid silver
;
295 div
.quoteblock-content
{
299 div
.exampleblock-content
{
300 border-left: 2px solid silver
;
304 /* IE6 sets dynamically generated links as visited. */
305 div#toc
a:visited
{ color: blue
; }
307 <title>git-fsck(
1)
</title>
312 git-fsck(
1) Manual Page
315 <div class=
"sectionbody">
317 Verifies the connectivity and validity of the objects in the database
322 <div class=
"sectionbody">
323 <div class=
"verseblock">
324 <div class=
"content"><em>git fsck
</em> [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
325 [--[no-]full] [--strict] [--verbose] [--lost-found] [
<object
>*]
</div></div>
327 <h2 id=
"_description">DESCRIPTION
</h2>
328 <div class=
"sectionbody">
329 <div class=
"para"><p>Verifies the connectivity and validity of the objects in the database.
</p></div>
331 <h2 id=
"_options">OPTIONS
</h2>
332 <div class=
"sectionbody">
333 <div class=
"vlist"><dl>
339 An object to treat as the head of an unreachability trace.
341 <div class=
"para"><p>If no objects are given,
<em>git fsck
</em> defaults to using the
342 index file, all SHA1 references in .git/refs/*, and all reflogs (unless
343 --no-reflogs is given) as heads.
</p></div>
350 Print out objects that exist but that aren't readable from any
351 of the reference nodes.
375 Consider any object recorded in the index also as a head node for
376 an unreachability trace.
384 Do not consider commits that are referenced only by an
385 entry in a reflog to be reachable. This option is meant
386 only to search for commits that used to be in a ref, but
387 now aren't, but are still in that corresponding reflog.
395 Check not just objects in GIT_OBJECT_DIRECTORY
396 ($GIT_DIR/objects), but also the ones found in alternate
397 object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
398 or $GIT_DIR/objects/info/alternates,
399 and in packed git archives found in $GIT_DIR/objects/pack
400 and corresponding pack subdirectories in alternate
401 object pools. This is now default; you can turn it off
410 Enable more strict checking, namely to catch a file mode
411 recorded with g+w bit set, which was created by older
412 versions of git. Existing repositories, including the
413 Linux kernel, git itself, and sparse repository have old
414 objects that triggers this check, but it is recommended
415 to check new projects with this flag.
431 Write dangling objects into .git/lost-found/commit/ or
432 .git/lost-found/other/, depending on type. If the object is
433 a blob, the contents are written into the file, rather than
438 <div class=
"para"><p>It tests SHA1 and general object sanity, and it does full tracking of
439 the resulting reachability and everything else. It prints out any
440 corruption it finds (missing or bad objects), and if you use the
441 <em>--unreachable
</em> flag it will also print out objects that exist but
442 that aren't readable from any of the specified head nodes.
</p></div>
443 <div class=
"para"><p>So for example
</p></div>
444 <div class=
"literalblock">
445 <div class=
"content">
446 <pre><tt>git fsck --unreachable HEAD \
447 $(git for-each-ref
--format=
"%(objectname)" refs/heads)
</tt></pre>
449 <div class=
"para"><p>will do quite a _lot_ of verification on the tree. There are a few
450 extra validity tests to be added (make sure that tree objects are
451 sorted properly etc), but on the whole if
<em>git fsck
</em> is happy, you
452 do have a valid tree.
</p></div>
453 <div class=
"para"><p>Any corrupt objects you will have to find in backups or other archives
454 (i.e., you can just remove them and do an
<em>rsync
</em> with some other site in
455 the hopes that somebody else has the object you have corrupted).
</p></div>
456 <div class=
"para"><p>Of course,
"valid tree" doesn't mean that it wasn't generated by some
457 evil person, and the end result might be crap. git is a revision
458 tracking system, not a quality assurance system ;)
</p></div>
460 <h2 id=
"_extracted_diagnostics">Extracted Diagnostics
</h2>
461 <div class=
"sectionbody">
462 <div class=
"vlist"><dl>
464 expect dangling commits - potential heads - due to lack of head information
468 You haven't specified any nodes as heads so it won't be
469 possible to differentiate between un-parented commits and
474 missing sha1 directory
<em><dir
></em>
478 The directory holding the sha1 objects is missing.
482 unreachable
<type
> <object
>
486 The
<type
> object
<object
>, isn't actually referred to directly
487 or indirectly in any of the trees or commits seen. This can
488 mean that there's another root node that you're not specifying
489 or that the tree is corrupt. If you haven't missed a root node
490 then you might as well delete unreachable nodes since they
495 missing
<type
> <object
>
499 The
<type
> object
<object
>, is referred to but isn't present in
504 dangling
<type
> <object
>
508 The
<type
> object
<object
>, is present in the database but never
509 <em>directly
</em> used. A dangling commit could be a root node.
513 warning: git-fsck: tree
<tree
> has full pathnames in it
517 And it shouldn't
…
521 sha1 mismatch
<object
>
525 The database has an object who's sha1 doesn't match the
527 This indicates a serious data integrity problem.
532 <h2 id=
"_environment_variables">Environment Variables
</h2>
533 <div class=
"sectionbody">
534 <div class=
"vlist"><dl>
540 used to specify the object database root (usually $GIT_DIR/objects)
548 used to specify the index file of the index
552 GIT_ALTERNATE_OBJECT_DIRECTORIES
556 used to specify additional object database roots (usually unset)
561 <h2 id=
"_author">Author
</h2>
562 <div class=
"sectionbody">
563 <div class=
"para"><p>Written by Linus Torvalds
<torvalds@osdl.org
></p></div>
565 <h2 id=
"_documentation">Documentation
</h2>
566 <div class=
"sectionbody">
567 <div class=
"para"><p>Documentation by David Greaves, Junio C Hamano and the git-list
<git@vger.kernel.org
>.
</p></div>
569 <h2 id=
"_git">GIT
</h2>
570 <div class=
"sectionbody">
571 <div class=
"para"><p>Part of the
<a href=
"git.html">git(
1)
</a> suite
</p></div>
574 <div id=
"footer-text">
575 Last updated
2010-
02-
13 00:
59:
44 UTC