Commands
Every command and option, including scripts and CI.
gitmit [options] Suggest messages for staged changes and commit
gitmit split Split staged changes into several focused commits
gitmit init [--force] Create a starter .gitmitrc.json
gitmit config Show the settings gitmit will use here
gitmit hook install [--force] Fill in a suggestion whenever you run `git commit`
gitmit hook uninstall Remove the hook
| Option | What it does |
|---|---|
--dry-run | Show suggestions (or the split plan) without committing. |
-y, --yes | Commit the top suggestion (or apply the split) without asking. |
--provider <name> | openai, anthropic, ollama or rules. |
--model <name> | Model for the provider, e.g. --model gpt-5. |
--config <path> | Use this config file instead of searching the repository. |
--redact | When a secret is found, send a redacted version instead of stopping. |
--push | Push to the remote after committing. A new branch gets its upstream set, like git push -u. |
--no-push | Don't push, even if the config has "push": true. |
--force | For init and hook install: overwrite an existing file. |
-h, --help | Show help. |
-v, --version | Show the version. |
Scripts and CI
When gitmit isn't running in an interactive terminal, it never prompts:
gitmit --dry-run # print suggestions, separated by ---
gitmit --yes # commit the top suggestion
gitmit split --dry-run # print the split plan
gitmit split --yes # apply the split plan
Without --yes or --dry-run, a non-interactive run prints the suggestions and commits nothing.