A native diff viewer for your working tree. Open a repository and see what you changed, as you change it.
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.
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.
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.
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.
Over 370 lexers from the CudaText collection, picked by file name. Colors are tuned for both light and dark backgrounds.
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.
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.
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.
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.
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.
Packaged builds for every platform are on the Releases page. Pick the file for your system.
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.
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
/Applications/lazarus on macOS when it is not on PATH.ld64.lld (brew install lld), since Apple's linker rejects the object code FPC 3.2 emits.libqt6pas6 and libqt6pas-dev.