TL;DR

Gitnuro là FOSS Git client multiplatform của dev JetpackDuba, viết bằng JetBrains Compose Multiplatform (UI) và JGit (Git engine). License GPL-3.0, 2.5k sao trên GitHub, version mới nhất v1.5.0 (24/06/2025) bổ sung Git LFS, syntax highlight diff và SSH credentials caching. Stack 98.6% Kotlin + 1.3% Rust. Khác biệt lớn nhất với GitKraken/Sourcetree: không dùng Electron, không telemetry, free hoàn toàn cho mọi use case.

Gitnuro UI showing branches, commit graph and staged files

Có gì hot

Gitnuro đang trending lại sau khi Tom Doerr nhắc trên X. Project gốc 5 tuổi, nhưng v1.5.0 ra giữa 2025 nâng nó lên ngang tầm các tool thương mại:

  • Git LFS support: cả HTTP lẫn SSH credentials handling — thiếu sót lớn của các Git GUI FOSS lâu nay.
  • Syntax highlighting cho diff: highlight code trong side-by-side view, đỡ mỏi mắt.
  • SSH credentials caching: nhập passphrase một lần cho cả session.
  • Bỏ commits limit trong log: lazy loading thay vì cap cứng — repo to như Linux kernel cũng load được.
  • Stash visualization trong commit graph: thấy stash song song với branch, không phải mò trong menu.
  • Privacy upgrade: option tắt Gravatar, nếu bật thì email được hash SHA256 trước khi query.

Vì sao đáng quan tâm

Thị trường Git GUI hiện đang chia 3 nhánh khó chịu:

  1. Electron-based (GitKraken, GitHub Desktop): đẹp nhưng nuốt RAM, startup chậm, lock feature sau paywall.
  2. Native paid (SmartGit, Tower): nhanh, mạnh nhưng đòi license commercial.
  3. Native FOSS cũ (Git Cola, QGit, Gittyup): miễn phí nhưng UI thường lạc hậu, thiếu feature mới như LFS hay interactive rebase drag-and-drop.

Gitnuro đứng đúng giữa: native (Compose Desktop, không Chromium), FOSS GPL-3.0, và UI hiện đại. Triết lý developer ghi rõ trong README: không phụ thuộc web technology, không ràng buộc cách dùng.

Điểm thú vị về kiến trúc: 98.6% Kotlin nhưng vẫn có 1.3% Rust — phần Rust dùng cho native bindings (đặc biệt SSH/credentials handling) để né bottleneck JVM. Compose Multiplatform cho phép cùng một codebase render UI desktop trên cả 3 OS mà không cần WebView, khác hẳn cách Electron đóng gói cả Chromium runtime nặng hàng trăm MB.

Facts kỹ thuật

PropertyValue
Latest versionv1.5.0 — 24/06/2025
Total releases21
LicenseGPL-3.0
LanguagesKotlin 98.6% · Rust 1.3% · Inno Setup 0.1%
UI frameworkJetBrains Compose Multiplatform
Git engineJGit
Runtime (JAR)JRE 17+
GitHub stars2.5k · 125 forks · 14 contributors
Linux JAR x86_6496.6 MB
macOS bundle144 MB
Windows installer115 MB

So sánh nhanh

ToolCostTechTrackingLFS
GitnuroFree (GPL-3.0)Compose Desktop + JGitKhôngCó (HTTP + SSH)
GitKrakenFree + paid tierElectronCó (paid)
SourcetreeFreeNative (Atlassian)
SmartGitPaid commercialJava Swing
GittyupFree (FOSS)C++ / QtKhông
Git ColaFree (FOSS)Python / PyQtKhôngLimited

Ai nên dùng

Newbie học Git: Gitnuro show visual commit graph, drag-and-drop interactive rebase, positive feedback khi action thành công, staging UI rõ ràng từng hunk/line — đỡ phải nhớ cả tá flag CLI.

Pro daily driver: SSH credentials caching, hunk/line-level staging, submodules, detached HEAD checkout, blame, file history, force push, search by commit message/author/ID, custom JSON theme. Đủ thay thế Sourcetree hoặc free tier GitKraken.

Privacy-conscious dev: không telemetry, Gravatar opt-out, email hash SHA256. Compliance team thích.

Cross-platform team: cùng UI trên Linux (Flatpak/JAR), Windows (installer + portable), macOS (Homebrew + ZIP). Onboard dev mới đỡ phải hướng dẫn lại cho từng OS.

Học Compose Desktop: mã nguồn Kotlin sạch, Gradle build chuẩn — Gitnuro là case study tốt nếu bạn muốn tự build app desktop bằng Compose Multiplatform thay vì Electron hay Tauri.

Limitations & pricing

Pricing: miễn phí tuyệt đối — GPL-3.0 cho cả cá nhân lẫn commercial. Không tier ẩn, không trial.

Limitations cần biết:

  • macOS không signed: Apple Developer Program quá đắt cho user base nhỏ. User phải bypass Gatekeeper thủ công lần đầu chạy.
  • Auth quirks: issue với multicast DNS remote URL và self-signed server certificate (có workaround trong issue tracker).
  • Git Credentials Manager: support nhưng phải khai full path binary trong .gitconfig (vd helper = /usr/bin/git-credential-manager-core).
  • Performance repo siêu lớn: v1.5.0 đã bỏ commit limit và lazy loading, nhưng repo cỡ Linux kernel vẫn cần thêm optimize.
  • Bundle size: Compose Desktop kéo theo JVM runtime — installer 115-144 MB tuỳ OS, nặng hơn native binary nhưng nhẹ hơn Electron app trung bình.

Sắp có gì

Roadmap chính thức trong README hứa hẹn:

  • Create / apply patches (rất hữu ích cho mailing list-based workflow như Linux kernel).
  • Remove tags from remote repository.
  • Mở rộng log options: show author column, filter theo current branch, hide remote branches.
  • Customization settings sâu hơn.
  • Tiếp tục optimize performance cho repo lớn.

Đã được done trong v1.5.0 (so với roadmap cũ): stash trong log graph ✅ và syntax highlighting cho diff ✅.

Cài đặt

  • Linux: flatpak install com.jetpackduba.Gitnuro (Flathub) hoặc tải JAR portable (cần JRE 17).
  • macOS: brew install jetpackduba/apps/gitnuro hoặc tải app bundle ZIP.
  • Windows: installer .exe hoặc portable ZIP từ GitHub Releases.

Nguồn: GitHub repo, README, Releases v1.5.0, Tom Doerr trên X.