GitSmarter is a fast, native Git client for Windows in a single ~2.5 MB executable, written in C++20 with Direct2D, that implements Git internals directly without any external dependencies.

Stars

33

7-day growth

No data

Forks

2

Open issues

0

License

MIT

Last updated

2026-07-13

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It achieves near-CLI performance (cloning the Linux kernel within 5% of Git's own time) while being a tiny, dependency-free binary that speaks Git natively, without bundling libgit2, Electron, or a web view.

Who it is for

  • Windows developers who want a lightweight, high-performance Git GUI
  • Git power users seeking a native client with direct pack-file and protocol v2 support
  • Anyone frustrated with slow or bulky Electron-based Git clients
  • Contributors interested in a modern C++20 codebase with custom widget framework

Use cases

  • Cloning large repositories (e.g., Linux kernel) with near-CLI speed from the GUI or command line
  • Browsing local repositories with branches, tags, and working-tree status in a virtualized sidebar
  • Performing staging, committing, and pushing/pulling via Smart HTTP Protocol v2 without a separate Git installation
  • Using GitHub OAuth device flow for authentication, stored in Windows Credential Manager

Strengths

  • Performance: clones the Linux kernel (11.3M objects, 6GB pack) in 289s vs Git's 275s (≈5% slower), using lock-free multithreaded delta resolution and memory-mapped I/O
  • Minimal footprint: single ~2.5 MB executable with no runtime dependencies—no libgit2, no bundleg Git CLI, no Electron or web view
  • Native Windows integration: Direct2D rendering, DWM for smooth animations, Windows Credential Manager for token storage, and borderless window with custom widget framework
  • Fast build and architecture support: unity build produces releases quickly; auto-detects x64 or ARM64 and compiles natively with NEON SIMD on ARM

Considerations

  • Windows-only (no macOS or Linux support)
  • Missing significant features: merge, rebase, cherry-pick, bisect, and non-fast-forward pull are not yet implemented (only stubs exist)
  • Requires Visual Studio 2022 and CMake to build, which may be a barrier for casual users who only want a pre-built binary

README quick start

GitSmarter

A fast, native Git client for Windows in a single ~2.5 MB executable.

GitSmarter is written in C++20 and rendered entirely with Direct2D. It has no external runtime dependencies — no libgit2, no bundled git CLI, no Electron, no web view. It speaks Git natively: loose objects, pack files (.idx/.pack), delta resolution, the index, refs, and Smart HTTP Protocol v2 are all parsed and implemented directly. The result is a single small binary that holds its own against Git itself — cloning the Linux kernel (11.3M objects, 9.15M deltas, 6GB pack, 92K files) completes within 5% of the Git CLI's own time (289s vs 275s), using multithreaded lock-free delta resolution, memory-mapped I/O, and a sharded object cache.

Features

  • Repository browsing — open any local repository; branches, tags, remotes, and working-tree status in a virtualized sidebar
  • Staging and committing — stage/unstage files, write commits directly to the object database, rename detection with similarity scoring
  • Diff viewer — inline and side-by-side modes with syntax highlighting, line numbers, and smooth animated scrolling
  • Commit history graph — full history walk with branch lane assignment and colored graph visualization
  • Fetch / push / pull — Smart HTTP Protocol v2 implemented from scratch, including pack generation for push and fast-forward pull; runs on a background worker thread with progress UI
  • Clone — from the GUI or the command line: GitSmarter.exe clone , with --headless for console-only use and owner/repo / gh:owner/repo URL shorthand
  • GitHub authentication — OAuth device flow with tokens stored in the Windows Credential Manager; also reads URL-embedded credentials, .gitconfig, and GH_TOKEN/GITHUB_TOKEN
  • Stash — create, apply, pop, drop, and clear stashes
  • Branch operations — create, switch, rename, and delete branches
  • Command palette — fuzzy-matched keyboard access to every command
  • Background sync — periodic fetch with ahead/behind indicators in the status bar
  • Custom UI — borderless window with native DWM integration, a hand-rolled Direct2D widget framework, and a frame-driven animation system that uses near-zero CPU when idle

Building

Prerequisites

  • Windows 10/11 (x64 or ARM64)
  • Visual Studio 2022

Description

A fast, dependency-free native Git client for Windows. C++20, Direct2D, direct git-internals parsing, single ~2.5 MB executable.

Related repositories

Similar projects matched by category, topics, and programming language.

alecjacobson
Featured
alecjacobson GitHub avatar

alpha-wrap

A CGAL-free, MIT-licensed reimplementation of the Alpha Wrapping algorithm that takes a defective triangle soup and produces a watertight, manifold, outward-oriented mesh with controllable level of detail and tightness.

C++
4
hypervising
Featured
hypervising GitHub avatar

gta-enhanced-audio-queue-poc

A proof-of-concept tool that patches a synchronous three-slot audio queue in GTA V Enhanced, boosting frame rates from ~260 to ~499 FPS by removing coarse wait delays.

Design & Creative
3
ammaarreshi
ammaarreshi GitHub avatar

Generals-Mac-iOS-iPad

This repository ports Command & Conquer Generals: Zero Hour to run natively on Apple Silicon Macs, iPhones, and iPads without emulation, adding touch controls and modern rendering.

C++
1,523