A new perspective on Git

Git made
simple.

Every repository. Every change. One clear view.

Meet the local-first Git workspace that brings your branches, commits, and changes into focus. Less friction. More flow.

Interactive preview01 — THE WORKSPACE
GitNova / my workspace Local workspace
studio Search commits… ⌘ K
main ↓ Pull ↑ Push Working tree clean
GraphCommit messageAuthor
6 commits All changes, connected.
Selected commit
a91d3b7

Keep every repository in context

J
Jamie18 min ago
feature/workspaces
5 files changed+86 −12
Explore without checking out.
ChangesSide by side
12− const context = repository;
12+ const context = workspace;

↖Illustrative repository · select a commit to explore

LESS FRICTION. MORE FLOW.GIT, IN A NEW LIGHT.
Your repositories, on your machine.Real Git. A clearer view.English & ภาษาไทย

BUILT IN THE OPEN

Good code grows together.

Explore the source, follow the progress, and help shape what comes next. Every contribution starts somewhere.

edocstudio/gitnova

GitHub · refreshes hourlyGitHub-listed contributors · PRs include open and closedCommit branch: main

GIT, IN 32 SECONDS

Every change. A clearer story.

From your first edit to two branches coming together. Watch the Git workflow take shape, one step at a time.

32 sec · English male narration · English / Thai subtitlesDownload the intro
Read the video transcript
  1. 00:00 · A clearer way to Git

    Git tracks changes, so every version has a story.

  2. 00:04 · Stage

    Working changes are edits in your files. Stage only the changes for your next commit; unfinished work can stay unstaged.

  3. 00:10 · Commit

    A commit saves a snapshot of staged content. Add a message that explains the change.

  4. 00:16 · Branch

    Create a branch to explore a new idea. Your main line and new branch can move independently.

  5. 00:23 · Merge

    Review and merge the branch histories. If changes conflict, resolve them before completing the merge.

  6. 00:28 · GitNova

    Git made simple. Every repository. Every change.

YOUR GRAPH-FIRST WORKSPACE

The whole story. Right in front of you.

Graph-first. Follow the thread from a branch to a single line of code. Everything stays connected, so you can keep your focus.

GITNOVA / HISTORY

Trace parallel branches in a graph with resizable columns. Keep branch, CI, author and date context in view.

GitNova — Repository history
Trace parallel branches in a graph with resizable columns. Keep branch, CI, author and date context in view.

Actual GitNova development screenshots using test repositories. The interface is evolving.

LESS FRICTION. MORE FLOW.

Built around the way you actually work.

01

A home for every repo.

Open, initialize or clone repositories into a workspace. Pin favorites and search the repository picker while keeping your graph context.

02

Review first. Then commit.

Review commits and amendments, stage supported text hunks, and work through linear Rebase and three-way conflicts in context.

03

Give parallel work some space.

Create a linked worktree for another branch. Review Lock, Unlock, Repair or supported removal while keeping current work in place.

04

Your workflow, connected.

Review Fetch, Pull and Push; configure active-repository auto fetch. Create PRs/MRs and see exact-commit GitHub Actions or GitLab pipeline runs in the graph.

LOCAL FIRST. BY DESIGN.

Your code lives here. Your focus does, too.

GitNova works with real repositories on your machine. Browse history, inspect diffs, and prepare commits locally. Connect your remotes when you need them.

RUST FOUNDATION. MEASURED PROGRESS.

Less waiting. More flow.

A repeated search, with less time between you and the answer. See what changed in our local GitNova development builds.

BEFORE OPTIMIZATION
232msRepeated search · warm index

One block = 10 ms · same scale in both panels

The same query. More waiting.

The earlier build, with an already-warm search index.

AFTER OPTIMIZATION
111msRepeated search · warm index

One block = 10 ms · same scale in both panels

The same query. Back to work.

The optimized build, with an already-warm search index.

Median of 10 immediate-repeat queries per build · 20,100 commits across two repositories

52.1%less warm-search time
13.2%less Pull time
30minsustained test · 117 interaction cycles

Local development builds on Apple M1 Pro. Code and compiler settings changed together. Push and cold indexing showed no demonstrated improvement.

Explore the measurementsMethod, timings & memory

Completed local experimentMeasured: 2026-10-28 → 2026-10-29 · Apple M1 Pro · 16 GiB

50,000seed history commits · 10,000 tracked files
30 minminutes under test · 117 interaction cycles
212 MiBnative peak RSS
650 MiBsampled process sum peak

Before / after optimization

n=3 / 3 · 500 tracked files

FlowBeforeAfterElapsed time
Switch branch954 ms834 ms−12.6%
Push2,460 ms2,539 ms+3.2%
Pull2,434 ms2,112 ms−13.2%
Merge + finish6,710 ms6,172 ms−8%

Median elapsed times from repeated runs with a local bare remote. Includes preview, apply and one refresh; Pull includes fetch. Human review and network latency excluded. Code and first-party compiler optimization changed together.

Search: immediate repeat vs first index

Two repositories; immediate warm queries and separate cold index creation. Sample counts are shown below. Cold indexing and Push show no demonstrated speed improvement.
20,100 commits · warm n=10/10 · cold n=1/1

Memory across the sustained run

Memory across the sustained run03507000–55–1010–1515–2020–2525–30
NativeWebKitSampled sum

Five-minute medians, MiB. Native, newly observed WebKit helpers and sampled Git descendants. Shared pages may be counted twice; short peaks can be missed.

Raw evidence · MiB
Interval (min)NativeWebKitSampled sum
0–5175.5319.3494.8
5–10185.5394.2581.8
10–15183.5348530.9
15–20176.9382566.7
20–25180377.3556.6
25–30180.8395.3577.8
12,207 msStill slow: search across the whole workspace · 10

Median in the sustained run. Search coverage is capped at 20,000 commits per worktree. Bounded caches trade repeated reads for memory; this larger workload is not the immediate warm-query test above.

Read the conditions

Test machine: Apple M1 Pro · 10 cores · 16 GiB · macOS 26.7.1 · Git 2.39.2 (Apple Git-143)

Local debug builds; hot first-party crates optimized after the change. Not a public release benchmark. Source revisions were not captured for these uncommitted builds.

Console locked: real background WebKit + scripted manual Refresh/native interactions. Foreground rendering, GPU/JS heap, live CI and enterprise networks were not measured. A 30-minute run does not prove leak absence or full-workday stability.

These results compare GitNova builds on one machine. They do not isolate Rust as the cause or establish superiority to another language or application.

These results compare GitNova builds on one machine. They do not isolate Rust as the cause or establish superiority to another language or application.

START YOUR NEXT CHAPTER

Make room for a better Git day.

GitNova is an early preview. Build it locally on your Mac while signed public installers are being prepared.

ALPHA 0.1.0

For the Mac on your desk.

Build a standalone app from your GitNova checkout on Apple silicon. The built app needs Git; Rust, Cargo and Node.js are source-build tools.

Signed installer coming later

Install Rust/Cargo and the platform build tools first. npm ci installs JavaScript dependencies; npm and nvm do not install Rust or Cargo.

From your GitNova repository root
cd apps/desktop
npm ci
npm run doctor
npm run build:local

Build requirements: Git, Node.js 20.x (20.19+) or 22.12+, stable Rust 1.98+ with Cargo, and Tauri platform dependencies.

Run from the root of your existing GitNova checkout. Open the .app path printed by the builder. This is a local ad-hoc-signed debug build, not a notarized release.

THE ROAD AHEAD

Growing with your workflow.

A look at what is here in the alpha, what comes next, and where GitNova is heading.

  1. IN THE ALPHA

    A foundation you can try.

    • Open, initialize or clone

      Create a local repository from the workspace picker, pin projects and keep context while switching.

    • Reviewed changes & recovery

      Per-file commit and Amend review, linear Rebase, tracked-text hunks and related-worktree maintenance within supported bounds.

    • A graph that stays in context

      Saved column widths, configurable active-repository auto fetch and exact-commit CI run numbers and links.

  2. NEXT PRIORITIES

    More of your real workflow.

    • Broader Git workflows

      Extend Rebase and hunk support; complete the remaining submodule and worktree operations.

    • Long-session performance

      Foreground profiling, memory use and large-workspace search beyond the recorded background run.

    • Recovery from real use

      Expand defect checks and recovery coverage for interrupted or partially completed operations.

  3. FURTHER AHEAD

    A wider view of your code.

    • Search beyond commits

      File and code history investigation, with planned SQLite FTS5 indexing.

    • Smarter multi-repo insight

      Richer change previews and investigation of coordinated releases across repositories.

    • Public release readiness

      Public installers, macOS notarization and full native validation on Windows and Linux remain planned.

Based on the GitNova project roadmap and delivery priorities. Scope and order may evolve; release dates are not committed.

GOOD TO KNOW

A little more clarity.

Getting started or working through a change? Find practical answers in the GitNova guide.

Explore the FAQ & guide25
Is GitNova ready for everyday use?

GitNova is an alpha Git client with real local Git workflows and a local macOS build. The broader multi-repository MVP, wider platform validation, and notarized releases are still in progress. Start with a test repository and review each action.

Can I use GitNova without connecting a hosting account?

Yes. Local history, diffs, staging, and commit preparation work with repositories on your machine. Remote operations need network access and Git authentication. Hosting features and CI connections are optional.

Does it support GitHub and GitLab?

Create and open GitHub pull requests or GitLab merge requests. Connected CI can show GitHub Actions workflow runs and GitLab pipelines for the exact commit, including available run numbers and links. Hosted merging and full merge eligibility remain planned.

What is still being built?

Linear Rebase, tracked-text hunk staging and worktree Lock/Unlock/Repair are available within their supported scope. Broader Rebase/hunk coverage, remaining submodule/worktree lifecycle operations, file/code search and public installers are still planned.

How do I make my first commit?

Open Working changes, select a file to inspect its diff, then Stage file or Stage all changes. Enter a summary, review the staged files and confirm the commit. Only staged content enters the commit; committing does not publish it. Push publishes to a remote.

How are Stage, Unstage and Discard different?

Stage copies the selected changes into the next commit’s staging area. Unstage removes them from that area while keeping working files. Discard restores the reviewed scope and can remove new files. Review its exact scope before confirming; recovery information is shown after supported operations.