# ungit — Visual Git Made Simple in Your Browser > A web-based visual git client that runs locally and makes branching, merging, and history exploration intuitive for any experience level. ## Install Save as a script file and run: # ungit — Visual Git Made Simple in Your Browser ## Quick Use ```bash # Install globally via npm npm install -g ungit # Launch in the current repository ungit # Open on a specific port ungit --port 9090 # Point to a different repo ungit --root /path/to/repo ``` ## Introduction ungit provides a clean, visual interface for git that runs as a local web application. It renders your repository graph as an interactive node diagram where you can drag and drop to merge, click to checkout, and see diffs inline. It lowers the barrier for developers who find git command-line operations confusing. ## What ungit Does - Renders the commit graph as a visual node diagram in the browser with real-time updates - Lets you stage, commit, branch, merge, rebase, and resolve conflicts through drag-and-drop - Shows inline diffs for any commit or file change with syntax highlighting - Supports all standard git remotes and operations including push, pull, and fetch - Integrates with GitHub and GitLab to display PR and issue references inline ## Architecture Overview ungit is a Node.js application that spawns a local Express server and opens a browser tab. The frontend is built with Knockout.js and communicates with the backend via a REST API. The backend executes git commands on your behalf and parses the output to build the visual graph model. All data stays local on your machine. ## Self-Hosting & Configuration - Requires Node.js 12+ and git to be installed - Install globally with npm and run `ungit` from any repository directory - Configure via `~/.ungitrc` (JSON) for default port, authentication, and merge tool settings - Supports basic HTTP authentication for securing the local server - Can be started at system boot as a background service ## Key Features - Drag-and-drop branch merging and rebasing directly on the graph - Inline diff viewer with per-line staging (similar to git add -p but visual) - Conflict resolution UI that shows both sides with merge controls - Auto-detects and displays .gitignore status, submodules, and stash entries - Responsive design works on tablets for reviewing code away from your desk ## Comparison with Similar Tools - **GitKraken** — polished desktop app with advanced features but proprietary for private repos; ungit is fully open source - **Sourcetree** — free Atlassian desktop client; ungit runs in any browser and installs via npm - **lazygit** — excellent terminal UI; ungit offers a graphical web interface for those who prefer visual interaction - **GitHub Desktop** — simple but limited to basic operations; ungit exposes more git features visually ## FAQ **Q: Does ungit modify my git config or repository?** A: No. It executes standard git commands on your behalf. Your repo structure and config remain unchanged. **Q: Can multiple people use ungit on the same server?** A: Yes, but be careful with concurrent edits to the same repository. Enable authentication for shared setups. **Q: Does it support SSH keys for remotes?** A: Yes. It uses your system SSH agent, so if `git push` works in your terminal, it works in ungit. **Q: Is ungit suitable for large repositories?** A: It works well for most repositories. For monorepos with extremely long histories, the initial graph render may be slow. ## Sources - https://github.com/FredrikNoren/ungit - https://github.com/FredrikNoren/ungit/blob/master/README.md --- Source: https://tokrepo.com/en/workflows/asset-da58bb5f Author: Script Depot