---
name: "git-diagnose"
section: "1"
platform: "linux"
package: "git"
version: "2.56.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/git-diagnose"
---

# git-diagnose(1)

Generate a zip archive of diagnostic information

## 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)](/git-bugreport/1.md) 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)](/strftime/3.md) 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)](/git/1.md) suite
