git-diagnose - Man Page

Generate a zip archive of diagnostic information


git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]


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.

By default, the following information is captured in the archive:

Additional information can be collected by selecting a different diagnostic mode using the --mode option.

This tool differs from git-bugreport(1) in that it collects much more detailed information with a greater focus on reporting the size and data shape of repository contents.


-o <path>, --output-directory <path>

Place the resulting diagnostics archive in <path> instead of the current directory.

-s <format>, --suffix <format>

Specify an alternate suffix for the diagnostics archive name, to create a file named git-diagnostics-<formatted suffix>. This should take the form of a strftime(3) format string; the current local time will be used.


Specify the type of diagnostics that should be collected. The default behavior of git diagnose is equivalent to --mode=stats.

The --mode=all option collects everything included in --mode=stats, as well as copies of .git, .git/hooks, .git/info, .git/logs, and .git/objects/info 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 --mode=all.


Part of the git(1) suite

Referenced By

git(1), git-bugreport(1).

2022-10-07 Git 2.38.1 Git Manual