Skip to content
An Van Nguyen [アン] edited this page Aug 5, 2025 · 3 revisions
Gitmit

Go Version License: MIT Go Report Card

🧠 Welcome to Gitmit Wiki

Gitmit is a lightweight command-line tool that analyzes your staged Git changes and suggests professional, structured commit messages following the Conventional Commits specification.

✨ Whether you're a solo developer or part of a team, Gitmit helps you commit with clarity, consistency, and confidence.


📚 Table of Contents

  1. Introduction
  2. Installation
  3. Basic Usage
  4. Interactive Mode
  5. Command Line Options
  6. Advanced Features
  7. Troubleshooting
  8. Development & Contributing
  9. License & Credits

🧭 Introduction

Gitmit analyzes your Git staged changes and generates commit message suggestions that follow the Conventional Commits standard (e.g., feat:, fix:, refactor:).

Key Benefits:

  • ✅ Eliminates writer’s block when committing
  • ✅ Enforces consistency across your commit history
  • ✅ Works entirely offline with privacy in mind

⚙️ Installation

Using Go

go install github.com/andev0x/gitmit@latest

From Source

git clone https://github.com/andev0x/gitmit.git cd gitmit go build -o gitmit sudo mv gitmit /usr/local/bin/

Pre-built Binaries

Visit the Releases page to download binaries for Linux, macOS, and Windows.


🚀 Basic Usage

  1. Stage your changes:
git add .
  1. Run Gitmit:
gitmit
  1. Review the suggested commit message. You can accept, edit, or generate a new one interactively.

🧑‍💻 Interactive Mode

Gitmit provides an interactive interface that allows you to:

  • Accept the suggested message
  • Edit it inline
  • Rerun analysis for alternate suggestions
  • Abort the commit if needed

Explore the full interaction flow in the Interactive Guide.


🛠️ Command Line Options

Option Description
--help Show help information
--version Show the current version
--dry-run Preview the suggested commit message
--verbose Display full internal analysis details

Example:

gitmit --dry-run --verbose

🧠 Advanced Features

  • 🔍 Diff Analysis: Parses your actual changes, not just filenames
  • 🧭 Scope Detection: Automatically infers affected scope/module
  • 📋 Fallback Suggestions: Provides general templates if context is unclear
  • 🧩 Offline Mode: All operations run locally for speed and privacy

🧩 Troubleshooting

Having issues using Gitmit? Check out the Troubleshooting Guide to solve:

  • Missing suggestions
  • Incorrect diff analysis
  • Shell compatibility issues (e.g., zsh, fish)
  • Installation errors

🤝 Development & Contributing

We welcome your contributions!

Local Development Setup

git clone https://github.com/andev0x/gitmit.git cd gitmit go mod download go test ./... go build -o gitmit ./gitmit --help

Please refer to the CONTRIBUTING.md for detailed guidelines on how to open issues, submit pull requests, or suggest features.


📄 License & Credits

Gitmit is open-sourced under the MIT License.

Built With


🧡 Made with love by the open source community
If you find Gitmit helpful, consider giving us a ⭐ on GitHub!