# Terminal tool · macOS · Linux · free
Stage, commit and browse Git history in your terminal
rugittu is a Git client for the terminal. Stage a whole file, one hunk or single lines.
┌rugittu v0.7.2──────────────────────────────────────────────────────────────────────────────────────────────┐ │Repo: /private/tmp/bitmonkey-shots/acme-api HEAD: main ↑0 ↓0 │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ [1] Workbench [2] History [3] Stash ┌Files─────────────────────────────────────┐┌Diff────────────────────────────────────────────────────────────┐ │ [ ] docs/notes.md ││Diff: src/routes.rs │ │ [S] src/config.rs ││ │ │> [ ] src/routes.rs ││▶ @@ -1,7 +1,7 @@ │ │ ││ use crate::config::Config; │ │ ││ │ │ ││ pub fn serve(cfg: &Config) { │ │ ││- println!("listening on :{}", cfg.port); │ │ ││+ println!("listening on :{} with {} workers", cfg.port, cfg.│ │ ││ } │ │ ││ │ │ ││ fn health() -> &'static str { │ │ ││ │ │ ││@@ -9,5 +9,5 @@ fn health() -> &'static str { │ │ ││ } │ │ ││ │ └──────────────────────────────────────────┘└────────────────────────────────────────────────────────── [1/6]┘ ┌Status──────────────────────────────────────────────────────────────────────────────────────────────────────┐ │[1] 3 files modified, 0 ahead, 0 behind │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ┌Help────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │Git: Space: stage • a/A: all • c/C: commit/amend • D: discard • s: stash • f/F: hotfix • │ │p/P/^P: push/pull/force • G: fetch │ │Nav: Tab: pane • j/k: move • h/l: hunks • v: select lines • /: search • n/N: match • t: diff mode • B: blame│ │• E: patch • S: submodules • O: remotes • b: branches • T: tags • ?: help • q: quit │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
1 Workbench
Stage files, hunks or lines. Commit, push and pull.
2 History
Browse commits in a graph. Cherry-pick, reset, rebase and blame.
3 Stash
Stash your work, with untracked files. Apply, pop and drop.
Press a number key to change mode. rugittu also does branches, merges with conflict help, tags, remotes and submodules. It has dark and light themes, mouse support and keys you can change. Press ? in the app to see all keys.
┌rugittu v0.7.2──────────────────────────────────────────────────────────────────────────────────────────────┐ │Repo: /private/tmp/bitmonkey-shots/acme-api HEAD: main ↑0 ↓0 │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ [1] Workbench [2] History [3] Stash ┌Commits───────────────────────────────────┐┌Commit Details──────────────────────────────────────────────────┐ │● 625eabf 2026-09-06 15:00 (refs/stash) ││Commit: d881603710dfdef68ac4f38473aef5127bec8c48 │ ││ Ada Demo ││Author: Ada Demo │ ││ On main: wip: retry settings ││Date: 2026-09-06 11:20 │ ││ │ ● 71f1e9b 2026-09-06 15:00 ││Refs: HEAD -> main, tag: v0.2.0 │ ││ │ │ Ada Demo ││Parents: 1bf7472, 70d252b │ ││ │ │ untracked files on main: d881603 Mer││ │ ││ ● 3c33517 2026-09-06 15:00 ││Merge branch 'feature/rate-limit' │ ││ │ Ada Demo ││ │ ││ │ index on main: d881603 Merge branch 'f││────────────────────────────────────────────────────────────────│ │● │ d881603 2026-09-06 11:20 (HEAD -> main││ │ ││ │ Ada Demo ││── README.md ── │ ││ │ Merge branch 'feature/rate-limit' ││▶ @@ -1,3 +1,5 @@ │ ││ ● 70d252b 2026-09-04 16:40 (feature/rate││ # acme-api │ ││ │ Ada Demo ││ │ ││ │ Document the rate limit ││ A small demo web service. │ └──────────────────────────────────────────┘└───────────────────────────────────────────────────────── [1/12]┘ ┌Status──────────────────────────────────────────────────────────────────────────────────────────────────────┐ │[1] 3 files modified, 0 ahead, 0 behind │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ┌Help────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │Git: x: cherry-pick • R: reset • t: tag • i: rebase • E: patch • r: refresh • m: more • b: branches • │ │T: tags • S: submodules │ │Nav: Tab: pane • j/k: move • h/l: hunks • [/]: file • PgUp/Dn: scroll • g: graph • /: search • u/d: status •│ │?: help • q: quit │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Install
Homebrew (macOS and Linux):
brew tap dk-bitmonkey/tap
brew trust --formula dk-bitmonkey/tap/rugittu
brew install rugittu
You run brew trust only once, because this is a third-party tap.
Debian, Ubuntu and Fedora: download a .deb or .rpm file from the releases page. You also find ready-to-run files for macOS and Linux there. Intel, AMD and ARM computers are supported.
Use
Go to a folder with a Git repository and run:
rugittu # open the repository in this folder
rugittu <path> # open another repository
Settings are in config.toml in the rugittu folder of your config folder. On Linux, this is ~/.config/rugittu/config.toml. On macOS, this is ~/Library/Application Support/rugittu/config.toml.
Privacy
rugittu sends no usage data. It uses the network only when you push, pull or fetch.
Help
Email support@bitmonkey.dk. Tell us your operating system, your terminal app and the output of rugittu --version.