GIT-BUGREPORT(1)

πŸ’… NAME πŸ’…

git-bugreport β€” bestie, this one collects all the info you need to file a bug report πŸ›βœ¨

okay so real quick, this is a page from the git manual, and it's literally the tool that gathers up your receipts so you can hand them to the Git people. iykyk.


πŸŽ€ SYNOPSIS πŸŽ€

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

✨ DESCRIPTION ✨

so what does it actually do? it collects info about your machine, your Git client, and your repo state β€” plus it gives you a little form to fill in about the behavior you observed β€” and then it smooshes all of that into one single text file. you can then share that file, for example to the Git mailing list, to report a bug you spotted. πŸ¦‹

here's what it's gonna ask you, the user, for πŸ™‹β€β™€οΈ:

  • Reproduction steps
  • Expected behavior
  • Actual behavior

and here's the stuff it captures automatically, no input needed, main character energy πŸ‘‘:

  • git version --build-options
  • uname sysname, release, version, and machine strings
  • Compiler-specific info string
  • A list of enabled hooks
  • $SHELL

additional info may also be gathered into a separate zip archive using the --diagnose option β€” you can attach that alongside the bugreport document to give readers extra context. 🎁

heads up bestie: this tool is invoked via the typical Git setup process, which means in some cases it might not be able to launch β€” for example, if a relevant config file is unreadable 😭. in that kind of scenario, it may be helpful to manually gather the kind of information listed above when manually asking for help.

🌸 OPTIONS 🌸

  • -o <path>, --output-directory <path> β€” puts the resulting bug report file in <path> instead of the current directory. like, relocation but make it documentation πŸ’«
  • -s <format>, --suffix <format>, --no-suffix β€” specify an alternate suffix for the bugreport name, so the file ends up named git-bugreport-<formatted-suffix>. this should take the form of a strftime(3) format string, and the current local time will be used. ⏰ --no-suffix disables the suffix entirely and the file is just named git-bugreport, with no disambiguation measure at all β€” yes, that means two reports could absolutely collide, be so fr πŸ’€
  • --no-diagnose, --diagnose[=<mode>] β€” creates a zip archive of supplemental information about the user's machine, Git client, and repository state. the archive is written to the same output directory as the bug report and is named git-diagnostics-<formatted-suffix>. πŸ—‚οΈ without mode specified, the diagnostic archive will contain the default set of statistics reported by git diagnose. an optional mode value may be specified to change which information is included in the archive. see git-diagnose(1) for the list of valid values for mode and details about their usage. πŸ“‹

🧚 GIT 🧚

Part of the git(1) suite 🫢


k that's the whole page bestie, go forth and file immaculate bug reports πŸ’–

this gem is from Git 2.56.0, dated 2026-09-27 β€” so you know it's fresh ✨ slay, and happy bug hunting πŸŽ€πŸŒ·

πŸ“¦ where this page comes from