Gittan icon

Gittan

A native diff viewer for your working tree. Open a repository and see what you changed, as you change it.

Download View on GitHub
macOS · Windows · Linux

Built for one job

Gittan does not commit, push or merge. It shows the difference between your work tree and a commit, and keeps that view fresh while you edit in whatever you like.

Live view

A background thread polls the repository every two seconds. Save a file in your editor and the tree, the counts and the diff update on their own.

Hide unchanged lines

Keep only the changed lines with 1, 3, 5 or 10 lines of context. Click a gap to open it. Highlighting still covers the whole file, so nothing colors wrong.

Side by side or unified

Old on the left, new on the right, scrolled in step, each side numbered from its own file. Or a single view with deleted lines kept in place.

Syntax highlighting

Over 370 lexers from the CudaText collection, picked by file name. Colors are tuned for both light and dark backgrounds.

Compare with any ref

Diff against HEAD by default, or pick a branch, a tag or a commit. The tree, the counts and every file diff follow the base you chose.

Dark mode

Follows the desktop theme, and switches when it does. The native tree, menus and status bar come from the platform, so it looks at home everywhere.

Scroll on to the next file

Keep scrolling at the bottom of a file and the next one pulls in. Step changes with F7, files with F8, or click a row in the summary.

Opens in your editor

Right-click a file to copy its path, reveal it in Finder or the file manager, or open it in the editor of your choice.

Knows what is staged

A check mark on the badge, and "staged" or "partly staged" in the header, tells you what the index already holds. Find in file with ⌘F.

Download

Packaged builds for every platform are on the Releases page. Pick the file for your system.

macOS
Apple Silicon · Gittan-macos-silicon.dmg
Download
Windows
x64 · Gittan-windows-x64.zip
Download
Linux
amd64, Qt 6 · Gittan-linux-amd64.tar.gz
Download
Gittan runs the git command line tool, so git must be installed and on your PATH. The macOS build is signed ad hoc: on first launch, right-click the app and choose Open. Every push to main is also built on GitHub Actions, where the artifacts of the newest run are the current development build.

Build from source

Gittan is a Free Pascal application built with Lazarus. The editor is ATSynEdit, the highlighter is EControl, both vendored as submodules.

# Lazarus 4.8 and FPC 3.2.x, then:
git clone --recursive https://github.com/slicke/gittan.git
cd gittan
make          # cocoa on macOS, qt6 on Linux
make run
  • The Makefile finds lazbuild in /Applications/lazarus on macOS when it is not on PATH.
  • On macOS the link step goes through LLVM's ld64.lld (brew install lld), since Apple's linker rejects the object code FPC 3.2 emits.
  • On Linux you need the Qt 6 bindings: libqt6pas6 and libqt6pas-dev.
  • Register the vendored packages in Lazarus once; the CI workflow lists them in dependency order.
  • Details for every platform are in AGENTS.md.