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 [--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
409 Enable more strict checking, namely to catch a file mode
410 recorded with g+w bit set, which was created by older
411 versions of git. Existing repositories, including the
412 Linux kernel, git itself, and sparse repository have old
413 objects that triggers this check, but it is recommended
414 to check new projects with this flag.
430 Write dangling objects into .git/lost-found/commit/ or
431 .git/lost-found/other/, depending on type. If the object is
432 a blob, the contents are written into the file, rather than
437 <div class=
"para"><p>It tests SHA1 and general object sanity, and it does full tracking of
438 the resulting reachability and everything else. It prints out any
439 corruption it finds (missing or bad objects), and if you use the
440 <em>--unreachable
</em> flag it will also print out objects that exist but
441 that aren't readable from any of the specified head nodes.
</p></div>
442 <div class=
"para"><p>So for example
</p></div>
443 <div class=
"literalblock">
444 <div class=
"content">
445 <pre><tt>git fsck --unreachable HEAD \
446 $(git for-each-ref
--format=
"%(objectname)" refs/heads)
</tt></pre>
448 <div class=
"para"><p>will do quite a _lot_ of verification on the tree. There are a few
449 extra validity tests to be added (make sure that tree objects are
450 sorted properly etc), but on the whole if
<em>git-fsck
</em> is happy, you
451 do have a valid tree.
</p></div>
452 <div class=
"para"><p>Any corrupt objects you will have to find in backups or other archives
453 (i.e., you can just remove them and do an
<em>rsync
</em> with some other site in
454 the hopes that somebody else has the object you have corrupted).
</p></div>
455 <div class=
"para"><p>Of course,
"valid tree" doesn't mean that it wasn't generated by some
456 evil person, and the end result might be crap. git is a revision
457 tracking system, not a quality assurance system ;)
</p></div>
459 <h2 id=
"_extracted_diagnostics">Extracted Diagnostics
</h2>
460 <div class=
"sectionbody">
461 <div class=
"vlist"><dl>
463 expect dangling commits - potential heads - due to lack of head information
467 You haven't specified any nodes as heads so it won't be
468 possible to differentiate between un-parented commits and
473 missing sha1 directory
<em><dir
></em>
477 The directory holding the sha1 objects is missing.
481 unreachable
<type
> <object
>
485 The
<type
> object
<object
>, isn't actually referred to directly
486 or indirectly in any of the trees or commits seen. This can
487 mean that there's another root node that you're not specifying
488 or that the tree is corrupt. If you haven't missed a root node
489 then you might as well delete unreachable nodes since they
494 missing
<type
> <object
>
498 The
<type
> object
<object
>, is referred to but isn't present in
503 dangling
<type
> <object
>
507 The
<type
> object
<object
>, is present in the database but never
508 <em>directly
</em> used. A dangling commit could be a root node.
512 warning: git-fsck: tree
<tree
> has full pathnames in it
516 And it shouldn't
…
520 sha1 mismatch
<object
>
524 The database has an object who's sha1 doesn't match the
526 This indicates a serious data integrity problem.
531 <h2 id=
"_environment_variables">Environment Variables
</h2>
532 <div class=
"sectionbody">
533 <div class=
"vlist"><dl>
539 used to specify the object database root (usually $GIT_DIR/objects)
547 used to specify the index file of the index
551 GIT_ALTERNATE_OBJECT_DIRECTORIES
555 used to specify additional object database roots (usually unset)
560 <h2 id=
"_author">Author
</h2>
561 <div class=
"sectionbody">
562 <div class=
"para"><p>Written by Linus Torvalds
<torvalds@osdl.org
></p></div>
564 <h2 id=
"_documentation">Documentation
</h2>
565 <div class=
"sectionbody">
566 <div class=
"para"><p>Documentation by David Greaves, Junio C Hamano and the git-list
<git@vger.kernel.org
>.
</p></div>
568 <h2 id=
"_git">GIT
</h2>
569 <div class=
"sectionbody">
570 <div class=
"para"><p>Part of the
<a href=
"git.html">git(
1)
</a> suite
</p></div>
573 <div id=
"footer-text">
574 Last updated
2009-
07-
01 02:
30:
51 UTC