Gitless, an experimental version control system built atop Git, could make life easier for developers who find Git difficult to use.
"Many people complain that Git is hard to use," the project's web page states. "We think the problem lies deeper than the user interface, in the concepts underlying Git. Gitless is an experiment to see what happens if you put a simple veneer on an app that changes the underlying concepts."
Because Gitless is implemented on top of Git, users can always fall back to Git. "With Gitless, you get a version control system that's easier to learn and to use than Git while retaining much of what makes Git so popular," developer Santiago Perez De Rosso said.
Gitless is compatible with Git -- every Gitless repository is a Git repository -- and Gitless can be used in Git repos without having to do any migrations, meaning co-workers can keep using Git if they prefer. Thus, developers can focus on building software rather than spending months learning their version control system or spending hours trying to get their repository back to a "sane" state, said De Rosso, a student at MIT.
Now in a beta stage of development, Gitless reduces complexity by having no staging area, De Rosso said. "Yet many of the things you would use the staging area for in Git (such as to select segments of files to commit) can still be done in Gitless thanks to a more flexible commit command."
Another main difference is in branching. In Gitless, branches are independent of each other, as if they have their own working directory. "For example, you can be in the middle of resolving conflicts and switch to a different branch to fix a bug, and then switch back to the original branch to finish fixing conflicts," De Rosso said. This eliminates many problems with branch-switching in Git, in which users occasionally need to stash or resort to other workarounds to shuffle between development tasks, he said.
A critic of Git, blogger and software engineer Steve Bennett, saw some promise in Gitless based on what he read on the project's website. "[Overall], it looks like they've fixed all of the commands I hated the most," he said. "If they'd add explicit support for things like Git Flow, PRs, user management etc, it could be perfect."