Analysis updated 2026-05-18
Stage, unstage, and commit changed files from a single terminal dashboard instead of typing Git commands.
Switch, create, or rebase branches with keyboard shortcuts and conflict handling built in.
Create or view a GitHub pull request for the current branch without leaving the terminal.
Maintain separate work and personal Git identities per repository without editing global Git config.
| b404dev/gitm8 | hadihonarvar/flock | home-operations/flate | |
|---|---|---|---|
| Stars | 16 | 16 | 16 |
| Language | Go | Go | Go |
| Setup difficulty | easy | moderate | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | ops devops | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires Git already installed, GitHub CLI needed for pull request features.
gitm8 is a terminal-based interface for working with Git, the version control system developers use to track changes to code. Instead of typing Git commands one at a time in a terminal, gitm8 shows a dashboard in the same terminal window where you can see your changed files, stage and unstage them, write commit messages, switch branches, pull and push code, and review diffs, all from a single screen navigated with keyboard shortcuts. The tool works by calling the Git binary already installed on your system, which means your existing Git settings, SSH keys, and any hooks or aliases you have configured continue to work exactly as before. It does not replace Git or introduce a new way of storing data. The main dashboard has a few panels: a status bar at the top showing the current branch, how many commits ahead or behind you are relative to a remote copy, and how many files are staged or unstaged, a file list on the left where you navigate between changed files, and a preview panel on the right showing either the file contents or its diff. You press single-letter keys to take actions: s stages a file, u unstages it, c opens a commit input, b opens a branch switcher, p pulls, P pushes, and x does a pull-rebase-then-push in one step. The branch switcher lets you create branches, switch between them, and delete them. When switching branches you can bring your uncommitted changes with you using a stash-and-pop approach. A rebase picker lets you rebase the current branch onto any other branch, with options to continue, abort, or skip if conflicts arise. There is also GitHub pull request integration through the GitHub CLI: pressing r either shows an existing pull request for the current branch or creates one. Configuration is read from a file at ~/.gitm8rc and can also be set through environment variables. Themes are configurable, with 17 options including several Catppuccin variants. You can define named Git identity profiles to switch between a work email and a personal email within any repository without touching your global Git config. Installation is handled by a shell script that detects your package manager and sets everything up.
gitm8 is a terminal dashboard for Git that lets you stage, commit, branch, rebase, and open pull requests with keyboard shortcuts instead of typing Git commands.
Mainly Go. The stack also includes Go, Git, GitHub CLI.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.