A local Git workbench that runs in your browser.
Gitna brings fast local-folder browsing, source control, visual diffs, repository history, and everyday Git operations into one focused interface. It runs on your machine, uses your installed Git when a folder is a repository, and keeps folder data local.
Warning
Gitna is in early development. Expect bugs, rough edges, and breaking changes.
Install with npm:
npm install -g gitnaOpen any local folder:
cd your-folder
gitnaGitna starts a local server and opens an authenticated session in your default browser. You can also pass a folder explicitly:
gitna /path/to/folderFolders backed by Git automatically gain source control, history, branches, stashes, tags, and Git operations. Ordinary folders retain Gitna’s Explorer, tabs, editing, search, and file tools.
- Start from Home, reopen recent folders, and switch folders without restarting Gitna
- Explore huge ordinary folders through lazy directory loading and bounded watching
- Press
Cmd/Ctrl+Kto search every indexed file, or type>to run commands from the unified command palette - Review staged and unstaged changes with Pierre-powered split or unified diffs
- Preview PNG, JPEG, WebP, and GIF changes alongside text diffs
- Browse and edit working-tree files in repository tabs
- Select two Explorer files with
Cmd/Ctrl-click, then right-click and choose Compare Selected - Stage and unstage files, folders, or individual hunks
- Commit and amend while preserving normal Git hook behavior
- Scroll continuously through a virtualized commit Graph with an exact HEAD-reachable count
- Browse branches, tags, stashes, and commit history
- Fetch, pull, push, compare, merge, rebase, cherry-pick, and revert
- Resolve conflicts with explicit ours, theirs, or combined content
npm install -g gitnaThe single npm package downloads the matching native binary from GitHub Releases, verifies its SHA-256 checksum, and caches it locally. Node.js is required only for npm installations.
mise use -g github:roie/gitnaMise installs the native GitHub Release asset directly; Node.js is not required at runtime.
Download the archive for your platform from GitHub Releases, extract it, and place gitna (gitna.exe on Windows) on your PATH.
Supported release targets:
- macOS Apple silicon (arm64)
- macOS Intel (x64)
- Linux x64
- Linux arm64
- Windows x64
- WSL using the Linux binary and your normal Windows browser
Gitna requires an installed git executable and a modern browser.
Gitna binds only to a random loopback port. Every process creates a high-entropy capability URL, and mutating requests are protected by Host, Origin, content-type, and size checks.
Repository reads and mutations go through the system Git executable. Gitna does not upload repository data or replace Git's storage, configuration, credentials, or hooks.
See SECURITY.md for the complete security model and vulnerability reporting instructions.
Development setup, validation commands, packaging, and release instructions are documented in CONTRIBUTING.md.
Gitna is licensed under Apache-2.0. Bundled dependency notices are available in THIRD_PARTY_NOTICES.md and THIRD_PARTY_LICENSES.txt.
