The easiest way to use git. On any platform. Anywhere.
Git is known for being a versatile distributed source control system that is a staple of many individuals, communities, and even for the City of Chattanooga to crowd source bicycle parking locations. However, it is not known for userfriendliness or easy learning curve.
Ungit brings user friendliness to git without sacrificing the versatility of git.
Quick intro to ungit: https://youtu.be/hkBVAi3oKvo
Requires node.js (≥ 18), npm (≥ 9.8.1, comes with node.js) and git (≥ 2.34.x). To install ungit just type:
npm install -g ungit
NOTE: If your system requires root access to install global npm packages, make sure you use the -H flag:
sudo -H npm install -g ungit
Prebuilt electron packages are available here (git is still required).
Anywhere you want to start, just type:
ungit
This will launch the server and open up a browser with the ui.
Put a configuration file called .ungitrc in your home directory (/home/USERNAME
on *nix, C:/Users/USERNAME/
on windows). Configuration file must be in json format. See source/config.js for available options.
You can also override configuration variables at launch by specifying them as command line arguments; ungit --port=8080
. To disable boolean features use --no: ungit --no-autoFetch
.
Example of ~/.ungitrc
configuration file to change default port and enable bugtracking:
{
"port": 8080,
"bugtracking": true
}
Git and github both supports PGP signing. Within Ungit these features can be enabled via doing either one of the below two actions.
git config --global commit.gpgsign true
(or without --global
at the repo)isForceGPGSign: true
to ungit.rc
fileCurrently, Ungit DOES NOT support GPG authentication! While git allows robust programmatic authentication via credential-helper
, I could not find an easy way to do something equivalent with GPG.
Therefore, password-less gpg authentication or 3rd party gpg password must be configured when using Ungit to commit with gpg. Below are several way to enable password-less gpg authentication for various OSs.
brew install gnupg gpg-agent pinentry-mac
echo "test" | gpg --clearsign
# See gpg authentication prompt when gpg is accessed.I understand this is not convenient, but security is hard. And I'd much rather have bit of inconvenience than Ungit having security exposure.
If you have your own merge tool that you would like to use, such as Kaleidoscope or p4merge, you can configure ungit to use it. See MERGETOOL.md.
Ungit will watch git directory recursively upon page view and automatically refresh contents on git operations or changes on files that are not configured to be ignored in .gitignore
.
See CONTRIBUTING.md.
{localhost|127.0.0.1|$UngitURL}:{ungit port number}
. #887 #892See CHANGELOG.md.
See LICENSE.md. To read about the Faircode experiment go to #974. Ungit is now once again MIT.