gitmyhub

ungit

JavaScript ★ 11k updated 19h ago

The easiest way to use git. On any platform. Anywhere.

A browser-based visual interface for git that lets you commit, branch, and merge by clicking through a diagram instead of typing commands, and works on remote servers too.

JavaScriptNode.jsHTMLCSSsetup: easycomplexity 2/5

Ungit is a visual, browser-based interface for git, the version control system that developers use to track changes in their code. Git is well-known for being confusing to beginners: its command-line interface uses terms and concepts that take time to learn. Ungit's goal is to make those same operations accessible through a clean point-and-click interface that runs inside a web browser.

To use it, you install ungit on a computer that already has Node.js and git installed, then run the command ungit from a terminal. This starts a small local web server and opens a browser tab showing a visual diagram of your git repository, including branches, commits, and the current state of your files. You can commit changes, switch branches, merge, and perform other common git operations by clicking through the interface rather than typing commands.

Because ungit is web-based, it also works on remote machines. If you are working on a cloud server or a machine without a graphical desktop, you can run ungit there and connect to its interface from your laptop's browser by visiting the server's address on port 8448. This makes it useful in situations where you have shell access but no graphical environment.

Ungit works on Windows, Mac, and Linux, and integrates with GitHub. Plugins exist for connecting it to Gerrit, a code review tool used in some larger teams. Editor integrations are available for Visual Studio Code, Atom, and Brackets, so you can open ungit directly from within your text editor.

The project is released under the MIT license. A few known quirks are documented: some ad blockers may interfere with the local server, and git's output must be in English for ungit to parse it correctly. If git is set to display output in another language, unexpected behavior can occur.

Where it fits