Git is a powerful and widely-used version control system, but using Git from the command line can be a little confusing and not very intuitive. Git has a few built-in tools like Git Bash and Git GUI.
In this tutorial, we will discuss the features of these built-in tools and also look at some of the third-party tools that can be used.
Bash stands for Bourne Again Shell and it is the default shell used by Linux and macOS. Git Bash is a Git command-line application for Windows operating system.
- Git Bash aims to provide a terminal Git experience to Windows users as Windows has a non-Unix-based command line called Windows Command Prompt.
- Git Bash provides a lot of important shell commands like Ssh, scp, cat, and find. Git Bash also includes the complete Git commands that are needed to work with Git.
GUI stands for Graphical User Interface and Git GUI aims to provide a more interactive and user-friendly way of working with Git. We can launch Git GUI by simply running the following command in Git Bash.
$ git gui
The following window will pop up after running the above command and we can use the Git GUI to work on our repository.
Gitk also provides a graphical interface, but unlike Git GUI, it is exclusively used to view the commit history of our project. It is a GUI wrapper for the Git Log command. Gitk is written in tcl/tk. To start gitk, simply type gitk in the Git Bash.
The following window will pop up and we can visualize the version history of our project.
Third-Party Git Tools
Git Bash, Git GUI, and Gitk come as a part of the Git package when we download it. There are other Git Tools out there developed to provide a better user-friendly and interactive way of working with Git. In this section, we will learn about some of the most popular third-party Git tools.
GitHub is a popular Git repository hosting website and GitHub Desktop is also a product of GitHub. It is available for macOS and Windows and is completely free to use. It has a lot of features to manage our projects using the Git version control system.
SourceTree is a product developed by Atlassian. It is a lot more advanced than GitHub Desktop and provides a lot more functionalities. It is available for Windows and macOS. It is also completely free to use.
SmartGit is another popular Git client but it is not the first choice for people who have just started using Git. One needs a good knowledge of the working of Git to use SmartGit. It is available for Windows, macOS, and also for Linux operating systems. SmartGit is free for non-commercial purposes.
GitKraken is also a very popular Git GUI and it is known for its user interface and collaborative features. It was created by Axosoft. It is also available for Windows, macOS, and Linux. Its basic version is free to use and it also offers premium and enterprise plans.
GitUp is an easy-to-use Git GUI that is great for beginners. It is designed for macOS users and is not available for any other platform. GitUp is completely free to use.
Git Cola is a cross-platform Git client which is available for Windows, macOS, and Linux. It is simple and easy to use but packs in a lot of features that can be used for advanced tasks. It is also highly customizable. Git Cola was developed using Python and is completely free to use.
Git is a widely used version control system but it could be a little difficult to use Git from the terminal. Git package itself comes with a Git GUI and Gitk that help us interact with our repository in a more intuitive way. There are a lot of third-party tools available for Git. Most of them are free to use for non-commercial purposes. These Git tools provide a better user interface and graphical cues which can be very useful.