summaryrefslogtreecommitdiff
path: root/devdocs/git/git-diagnose.html
blob: f4881c0d88c1d2acd520e2e09ee6b5b8b5014a51 (plain)
1
2
3
4
5
6
7
<h1>git-diagnose</h1>  <h2 id="_name">Name</h2> <div class="sectionbody">  <p>git-diagnose - Generate a zip archive of diagnostic information</p>  </div>   <h2 id="_synopsis">Synopsis</h2> <div class="sectionbody"> <div class="verseblock"> <pre class="content" data-language="shell">git diagnose [(-o | --output-directory) &lt;path&gt;] [(-s | --suffix) &lt;format&gt;]
               [--mode=&lt;mode&gt;]</pre> </div> </div>   <h2 id="_description">Description</h2> <div class="sectionbody">  <p>Collects detailed information about the user’s machine, Git client, and repository state and packages that information into a zip archive. The generated archive can then, for example, be shared with the Git mailing list to help debug an issue or serve as a reference for independent debugging.</p>   <p>By default, the following information is captured in the archive:</p>  <div class="ulist"> <ul> <li> <p><code>git version --build-options</code></p> </li> <li> <p>The path to the repository root</p> </li> <li> <p>The available disk space on the filesystem</p> </li> <li> <p>The name and size of each packfile, including those in alternate object stores</p> </li> <li> <p>The total count of loose objects, as well as counts broken down by <code>.git/objects</code> subdirectory</p> </li> </ul> </div>  <p>Additional information can be collected by selecting a different diagnostic mode using the <code>--mode</code> option.</p>   <p>This tool differs from <a href="git-bugreport">git-bugreport[1]</a> in that it collects much more detailed information with a greater focus on reporting the size and data shape of repository contents.</p>  </div>   <h2 id="_options">Options</h2> <div class="sectionbody"> <div class="dlist"> <dl> <dt class="hdlist1" id="Documentation/git-diagnose.txt--oltpathgt"> -o &lt;path&gt; </dt> <dt class="hdlist1" id="Documentation/git-diagnose.txt---output-directoryltpathgt"> --output-directory &lt;path&gt; </dt> <dd> <p>Place the resulting diagnostics archive in <code>&lt;path&gt;</code> instead of the current directory.</p> </dd> <dt class="hdlist1" id="Documentation/git-diagnose.txt--sltformatgt"> -s &lt;format&gt; </dt> <dt class="hdlist1" id="Documentation/git-diagnose.txt---suffixltformatgt"> --suffix &lt;format&gt; </dt> <dd> <p>Specify an alternate suffix for the diagnostics archive name, to create a file named <code>git-diagnostics-&lt;formatted suffix&gt;</code>. This should take the form of a strftime(3) format string; the current local time will be used.</p> </dd> <dt class="hdlist1" id="Documentation/git-diagnose.txt---modestatsall"> --mode=(stats|all) </dt> <dd> <p>Specify the type of diagnostics that should be collected. The default behavior of <code>git diagnose</code> is equivalent to <code>--mode=stats</code>.</p>  <p>The <code>--mode=all</code> option collects everything included in <code>--mode=stats</code>, as well as copies of <code>.git</code>, <code>.git/hooks</code>, <code>.git/info</code>, <code>.git/logs</code>, and <code>.git/objects/info</code> directories. This additional information may be sensitive, as it can be used to reconstruct the full contents of the diagnosed repository. Users should exercise caution when sharing an archive generated with <code>--mode=all</code>.</p>  </dd> </dl> </div> </div><div class="_attribution">
  <p class="_attribution-p">
    &copy; 2012&ndash;2024 Scott Chacon and others<br>Licensed under the MIT License.<br>
    <a href="https://git-scm.com/docs/git-diagnose" class="_attribution-link">https://git-scm.com/docs/git-diagnose</a>
  </p>
</div>