· MIT
· Website
· Downloads
· Usage
· Contributing
· Agent Skill
· 简体中文
Oil Git is a read-only desktop viewer for local Git repositories. Open a project to inspect its current branch, working tree changes, commit history, and file diffs. Keep using Git in your editor, terminal, or agent; Oil Git follows changes made to the real repository.
| Question | Oil Git shows |
|---|---|
| Which branch am I on? | The commit graph, parent relationships, local branches, tags, and HEAD |
| What changed in this project? | Files grouped by merge conflicts, staged changes, and working tree changes |
| What does a commit contain? | Its changed files, diff, author, date, and parent commits |
| How did a file change? | Side-by-side or unified text diffs with original line numbers; image comparison; media and byte previews |
| Finding content in a long diff | In-diff search: highlights matches, shows a count, and steps through them |
| What is the repository state? | Worktrees, stashes, merge or rebase state, and locally recorded upstream counts |
For long diffs, use in-diff search to jump straight to what matters. The search bar is collapsed by default and renders nothing visible — no icon, height, border, or blank strip. Press ⌘F (or Ctrl+F on Windows) to open it and focus the input; press Esc or the close button to collapse it, which clears the query and highlights and leaves no footprint behind. Once open, type a keyword to highlight every match and see the count; step through them with the up/down buttons or Enter/Shift+Enter, and the current match scrolls into view. Matching runs against the code itself (not the +/- gutter markers), keeps the exact spacing you typed, and resets to the first match when you switch files or layouts.
Repository names, branches, commit messages, paths, and author details remain exactly as Git records them when the interface language changes.
The workspace sidebar stays visible while the right pane switches between changes and history. Choose a branch or tag to filter history; this only changes what is shown and never checks out a branch. Choose a worktree to observe it in the same way.
The interface supports English and Simplified Chinese. It follows the system language on first launch, then remembers the language you choose. Dark, light, and green themes are available as well.
Download the macOS DMG or Windows x64 installer from GitHub Releases. Feature scope follows the release tag and notes. For changes on the default branch, use the matching CI build artifact or build from source. Git must be installed on the computer. The packaged app does not require Python, Node.js, or Rust at runtime.
Open a project from the toolbar or press ⌘ O on macOS or Ctrl O on Windows. Selecting a directory inside a repository opens its owning repository. Use ⌘ R or Ctrl R to refresh.
The packages include a CLI and the Oil Git Agent Skill. The CLI can open a project in the existing app window or print a read-only JSON snapshot:
oil-git open . --view changes
oil-git open . --view history
oil-git inspect . --json
oil-git skill --path
oil-git --lang en --helpUse --lang en or --lang zh-CN with CLI commands to choose the language explicitly. Without it, each invocation reads the locale environment variables and defaults to English when none are set. This is independent of the saved interface language. inspect reads the local repository and does not open the app. The Skill is included with the package; installing Oil Git does not change the host agent's settings. See the CLI guide for launcher paths and integration details.
Oil Git does not commit, stage, switch branches, merge, fetch, pull, reset, or undo changes. It does not modify the observed repository's files, index, refs, configuration, or LFS object store.
- Standard Git LFS pointers are read with the app's built-in read-only filter. The app shows object IDs and sizes without downloading file contents. Custom LFS commands and extensions are unsupported.
- Repository-defined external content filters and converters are not run. If a filter prevents a safe read, the app explains the limitation.
- Bare and partial-clone repositories are not supported. Upstream ahead/behind counts use local tracking records and do not imply a fetch.
See the usage guide for file comparison, media previews, and read limits.
Oil Git uses Tauri 2, React, TypeScript, and Rust. Rust reads repositories through the system Git executable. The packaged app does not start a local HTTP server.
npm ci
npm run desktopDevelopment requires Node.js 22, Rust, and the Tauri dependencies for your platform. Read the development guide and usage guide, or their Simplified Chinese versions and 中文使用说明. See Contributing before making changes.
MIT. File type icons come from Material Icon Theme. See third-party notices for other bundled materials.
