GIT-DIAGNOSE(1) Git Manual GIT-DIAGNOSE(1)

# [NAME](#NAME)

git-diagnose - Generate a zip archive of diagnostic information

# [SYNOPSIS](#SYNOPSIS)

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


               [--mode=<mode>]
```

# [DESCRIPTION](#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)](/man/os/git/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](#OPTIONS)

-o &lt;path&gt;, --output-directory &lt;path&gt;

Place the resulting diagnostics archive in *&lt;path&gt;* instead of the current directory.

-s &lt;format&gt;, --suffix &lt;format&gt;

Specify an alternate suffix for the diagnostics archive name, to create a file named *git-diagnostics-&lt;formatted-suffix&gt;*. This should take the form of a [strftime(3)](/man/os/git/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](#GIT)

Part of the [**git**(1)](/man/os/git/git.1) suite

2026-06-29 Git 2.55.0

---

Document: git-diagnose(1) from git 2.55.0-r9 (Chainguard OS)
Source: https://kernel.googlesource.com/pub/scm/git/git.git
