A modern Git visualization tool written in Rust with a React frontend, built with Tauri.
GitK-RS commit graph and UI demo
- Commit Graph Visualization: Interactive DAG visualization with zoom, pan, and node selection
- Branch Management: View, create, checkout, and delete branches
- Tag Browsing: Explore repository tags
- Commit Details: View commit metadata, changed files, and diffs
- Search: Search commits by message
- Keyboard Shortcuts: Navigate efficiently with keyboard
- Dark/Light Theme: Toggle between themes
- Cross-platform: Works on Linux, macOS, and Windows
- Clone the repository:
git clone https://github.com/vicheanath/gitk-rs.git cd gitk-rs - Install dependencies:
npm install
- Build the application:
npm run tauri build
To start the development server:
npm run tauri devThis will start the Vite dev server and launch the Tauri application.
- Launch the application
- Click Open Repository and select a Git repository
- Explore the commit graph, branches, and tags
- Click on commits to view details and diffs
- Use keyboard shortcuts for quick navigation
| Shortcut | Action |
|---|---|
/ |
Focus search bar |
b |
Toggle sidebar |
q |
Quit application |
| Arrow keys | Navigate commits (coming soon) |
gitk-rs/
βββ src-tauri/ # Rust backend
β βββ src/
β β βββ git_engine/ # Git operations
β β βββ app_core/ # State management
β β βββ commands.rs # Tauri commands
β βββ Cargo.toml
βββ src/ # React frontend
β βββ components/ # UI components
β βββ hooks/ # React hooks
β βββ types/ # TypeScript types
β βββ styles/ # CSS styles
βββ package.json
- Backend: Rust, libgit2, Tauri
- Frontend: React, TypeScript, Vite
- State Management: React Context API (MVVM pattern)
- Graph Library: Petgraph (Rust), Canvas API (JavaScript)
This project is licensed under the MIT License. See the LICENSE file for details.
