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
OptionWhat it does
--dry-runShow suggestions (or the split plan) without committing.
-y, --yesCommit 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.
--redactWhen a secret is found, send a redacted version instead of stopping.
--pushPush to the remote after committing. A new branch gets its upstream set, like git push -u.
--no-pushDon't push, even if the config has "push": true.
--forceFor init and hook install: overwrite an existing file.
-h, --helpShow help.
-v, --versionShow 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.