Merge branch 'ps/reflog-list' into HEAD
[alt-git.git] / Documentation / git-diagnose.txt
blob0711959e6f6eaa6af5b8931058760b47189e6ba5
1 git-diagnose(1)
2 ================
4 NAME
5 ----
6 git-diagnose - Generate a zip archive of diagnostic information
8 SYNOPSIS
9 --------
10 [verse]
11 'git diagnose' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
12                [--mode=<mode>]
14 DESCRIPTION
15 -----------
16 Collects detailed information about the user's machine, Git client, and
17 repository state and packages that information into a zip archive. The
18 generated archive can then, for example, be shared with the Git mailing list to
19 help debug an issue or serve as a reference for independent debugging.
21 By default, the following information is captured in the archive:
23   * 'git version --build-options'
24   * The path to the repository root
25   * The available disk space on the filesystem
26   * The name and size of each packfile, including those in alternate object
27     stores
28   * The total count of loose objects, as well as counts broken down by
29     `.git/objects` subdirectory
31 Additional information can be collected by selecting a different diagnostic mode
32 using the `--mode` option.
34 This tool differs from linkgit:git-bugreport[1] in that it collects much more
35 detailed information with a greater focus on reporting the size and data shape
36 of repository contents.
38 OPTIONS
39 -------
40 -o <path>::
41 --output-directory <path>::
42         Place the resulting diagnostics archive in `<path>` instead of the
43         current directory.
45 -s <format>::
46 --suffix <format>::
47         Specify an alternate suffix for the diagnostics archive name, to create
48         a file named 'git-diagnostics-<formatted-suffix>'. This should take the
49         form of a strftime(3) format string; the current local time will be
50         used.
52 --mode=(stats|all)::
53         Specify the type of diagnostics that should be collected. The default behavior
54         of 'git diagnose' is equivalent to `--mode=stats`.
56 The `--mode=all` option collects everything included in `--mode=stats`, as well
57 as copies of `.git`, `.git/hooks`, `.git/info`, `.git/logs`, and
58 `.git/objects/info` directories. This additional information may be sensitive,
59 as it can be used to reconstruct the full contents of the diagnosed repository.
60 Users should exercise caution when sharing an archive generated with
61 `--mode=all`.
63 GIT
64 ---
65 Part of the linkgit:git[1] suite