3 min read

Git, a version-control system used for tracking changes in computer files and coordinating work on those files. It is usually said that Git is easy to learn and it enhances performance as it is fast. However, a lot of users have been facing issues with Git as many find it difficult to understand the concepts of Git and work on it. Also, the UI is not user-friendly.

Issues with Git

A research paper titled, A Case of Computational Thinking: The Subtle Effect of Hidden Dependencies on the User Experience of Version Control by researchers from University of Cambridge states that users don’t have much confidence in Git. They manually copy their local working set to a separate backup directory before performing any operations via Git.

File tracking is one of the major issues in Git. If someone creates a new file and then starts tracking changes to it, then the new modifications might not get saved and the older version of the file might get reflected. It is also difficult to rename a file with Git.

According to Santiago Perez De Rosso, a PhD student in the Software Design Group at MIT, the major issues with Git are switching branches, detached head and untracking files.

Gitless makes a difference

As many users have complained about Git, earlier this year, Gitless, a version control system built on top of Git was released. It is comparatively easier than Git. Since, Gitless is implemented on top of Git, one can always fall back on Git.

How is Gitless better?

  • Easy to save changes with Gitless

There is flexible commit command in Gitless that makes it easy to save changes to the repository very easy. Also, another advantage in Gitless is that it does not have a staging area. One can also change the classification of any file to untracked, tracked, or ignored, even if the file doesn’t exist at the head.

                                                                    Source: Gitless 
  • Branching

In Gitless, a branch is a separate line which is independent of development and keeps its working files separate from others. Whenever a user switches to a different branch, the contents of the working directory are saved, and the ones corresponding to the branch the user is switching to, are retrieved. Gitless also remembers the file classification. One need not worry about the uncommitted changes conflicting with the changes in the destination branch.

Source: Gitless

The below mentioned commands are used in Gitless, which make the working very easy.

  •  gl init  is used for creating an empty repo or creating one from an existing remote repository.
  •  gl track is used for tracking changes to files
  • gl untrack stops tracking changes to files
  • gl checkout helps to check the committed versions of files
  • With gl history, one can view history
  •  gl branch  is used for listing, creating, editing or deleting the branches
  •  gl switch is used for switching branches

Read more about Gitless on Gitless’ official website.

IntelliJ IDEA 2018.3 is out with support for Java 12, accessibility improvements, GitHub pull requests, and more

GitHub Octoverse: The top programming languages of 2018

GitHub now supports the GNU General Public License (GPL) Cooperation Commitment as a way of promoting effective software regulation