# git-diagnose(1) Manual Page

## NAME

git-diagnose - Generate a zip archive of diagnostic information

## SYNOPSIS

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

## DESCRIPTION

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:

- git version --build-options

- The path to the repository root

- The available disk space on the filesystem

- The name and size of each packfile, including those in alternate object stores

- The total count of loose objects, as well as counts broken down by `.git/objects` subdirectory

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.

## OPTIONS

-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.

--mode=(stats|all)

  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`.

## GIT

Part of the git(1) suite