Skip to content

parazeeknova/gitcha

Repository files navigation

gitcha logo

G I T C H A

one app to gitcha all

latest release version rust 2024 edition MIT license binary size ~37MB supported platforms: Linux, macOS, Windows

download

pre-built binaries from the latest release:

platform format link
macOS (arm64) .dmg gitcha_0.1.70_aarch64.dmg
macOS (x64) .dmg gitcha_0.1.70_x64.dmg
linux .deb gitcha_0.1.70_amd64.deb
linux .AppImage gitcha_0.1.70_x86_64.AppImage
linux .tar.gz gitcha_0.1.70_x86_64.tar.gz
linux PKGBUILD PKGBUILD
windows .exe gitcha_0.1.70_x64-setup.exe
windows .msi gitcha_0.1.70_x64_en-US.msi

what is this ?

the git GUI that does what the paid ones do, but it's free, native, and local-first. commit graph, syntax-highlighted diffs, staging, drag-to-merge, embedded terminal, PR management, Actions monitoring, release browsing all in a single ~8MB rust binary. no electron, no subscription, no account, no cloud. your repos never leave your machine. gitcha just reads your .gitconfig, your ssh keys, your gpg config, and shows you everything git already knows.

features

gitcha screenshot

  • commit graph — live DAG with color-coded branches, merge curves, clickable nodes
  • diff viewer — syntax-highlighted, word-level inline diffs from libgit2
  • file tree — working tree with git status badges and file-type icons
  • staging & commit — stage files/hunks, amend, sign-off, skip hooks, stash mode
  • embedded terminal — full shell via alacritty + PTY, right in the app
  • command palette — Ctrl+K fuzzy search for every action
  • remote management — fetch, pull, push, remotes, all in the same graph
  • drag-to-merge — grab a branch, drop it, done
  • GitHub integration — device flow OAuth, PRs, Actions, releases, packages in sidebar
  • PR management — browse PRs, check status, view code diffs, linked to branches
  • Actions & CI — pass/fail status per workflow, linked to triggering branch
  • releases & packages — changelogs, assets, npm/container packages, version comparison
  • SQLite cache — local snapshots, fingerprint-based invalidation, live refresh
  • multi-tab — multiple repos, per-tab state, session persists across restarts
  • setup wizard — detect git identity, SSH/GPG keys, optional GitHub sign-in

requirements

to run: nothing. download the binary for your platform and it just works.

to build from source: rustup with the latest stable toolchain (rustup update stable), plus:

  • linux: git rust/rustup
  • macos: Xcode command line tools
  • windows: MSVC build tools or Visual Studio

building from source

git clone https://github.com/parazeeknova/gitcha.git
cd gitcha
cargo build --release
# binary at target/release/gitcha

arch linux

pre-built binary (from releases):

git clone https://github.com/parazeeknova/gitcha.git
cd gitcha
makepkg -si

or with make: make pkg-install

build from source (latest main):

git clone https://github.com/parazeeknova/gitcha.git
cd gitcha
makepkg -si -p PKGBUILD.git

or with make: make pkg-git-install

development

make dev           # debug run
make run-release   # release run
make lint          # clippy + format check
make fmt           # auto-format
make test          # test suite
make build         # release build

uninstall

manual install:

sudo make uninstall

arch linux (makepkg):

sudo pacman -R gitcha-bin    # pre-built
sudo pacman -R gitcha-git    # from source

app data: ~/.local/share/gitcha — remove with make clean-local

what's not here (yet)

no issue management, no interactive rebase (merge via drag-and-drop only), no inline PR commenting, no AI summarizer. it's growing, but it's still a local-first git tool — not a platform.

contributing

open an issue if something is broken. open a pr if you fixed it. the codebase is intentionally small every module does one thing. if a pr makes a module do two things, we'll talk about it.

git is yours. your history is yours. every commit you ever made is sitting on your disk right now, complete and permanent, asking nothing from you. a tool that lets you see it, really see it, should be too.

that's gitcha. one app to gitcha all.

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣄⠀⠀⠀⣦⣤⣾⣿⠿⠛⣋⣥⣤⣀⠀⠀⠀⠀
⠀⠀⠀⠀⡤⡀⢈⢻⣬⣿⠟⢁⣤⣶⣿⣿⡿⠿⠿⠛⠛⢀⣄⠀
⠀⠀⢢⣘⣿⣿⣶⣿⣯⣤⣾⣿⣿⣿⠟⠁⠄⠀⣾⡇⣼⢻⣿⣾      gitcha by @parazeeknova
⣰⠞⠛⢉⣩⣿⣿⣿⣿⣿⣿⣿⣿⠋⣼⣧⣤⣴⠟⣠⣿⢰⣿⣿
⣶⡾⠿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣈⣩⣤⡶⠟⢛⣩⣴⣿⣿⡟      git already knows everything.
⣠⣄⠈⠀⣰⡦⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡛⠛⠛⠁      gitcha just makes it visible.
⣉⠛⠛⠛⣁⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠥⠀⠀      local, native, free.
⣭⣏⣭⣭⣥⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢠⠀⠀⠀⠀⠀

— harsh / @parazeeknova

MIT licensed · open source · free to use

this project is possible due to Singularity Works