zsh

Git Made Easy: Exploring Oh My Zsh Git Plugins and Features

Git is an extensive and extremely powerful tool for any developer. Whether you are building a “hello world” program or managing an extensive monorepos, Git provides a way to manage and track changes in the codebase.

As a regular Git user, you will notice that the main way of interacting with Git is using the command-line tools provided in the Git ecosystem. Although this is useful and extensible across systems, it can be a bit verbose and challenging to try and recall all the commands that you need to use.

Trust us, it is better to screw up the code itself on the local machine that does it in a remote repository.

Luckily, we have this awesome framework for Zsh which is known as Oh My Zsh that comes packed with useful tools in the form of Git plugin. Using this plugin can make working with Git much smoother and much more efficient.

In this tutorial, we will explore how we can enhance the workflow of Git in our terminal using Zsh, Oh My Zsh, and the Git plugin.

Prerequisites:

Before we dive into the details, make sure that you have the following prerequisites in place:

  • Git – Ensure that Git is installed on your system.
  • Oh My ZSH – You should have Oh My Zsh installed.
  • Basic Command-Line Knowledge – Familiarity with the command line will be helpful as we’ll use it extensively.

Installing Oh My Zsh Git Plugin

Oh My Zsh comes with a wide range of plugins that can enhance the shell experience. In our case, we are interested in the Git plugin which helps us to supercharge the Git workflow.

Open your Zsh configuration file in your preferred text editor.

$ nano ~/.zshrc.

Locate the entry that starts with plugins in your “~/.zshrc” file.

This line defines which plugins are enabled. Proceed to add the Git plugin to the list of plugins.

plugins=(git)

Save the changes and reload the configuration by running the following command:

source ~/.zshrc

Once we have the Git plugin enabled, we can now access the various Git features and shortcuts directly from the shell.

Git Prompt

One of the most useful features provided by Oh My Zsh Git plugin is the Git prompt.

This shows the current branch name and the status of the working directory. This information is invaluable when working with multiple Git repositories.

To see this in action, navigate to a Git repository directory. You’ll notice that the prompt now includes the current branch name and status indicators.

In the given example, we can see that the current branch is “main” with no changes to commit.

Git Aliases

The next powerful feature of the Git plugin for Oh My Zsh is aliases. These are shortcuts to common Git commands which prevents you from memorizing and typing the entire commands.

The following are some useful aliases that you will find extremely useful:

  • g – Alias for git
  • gst – Alias for git status
  • gc – Alias for git commit
  • ga – Alias for git add
  • gb – Alias for git branch
  • gco – Alias for git checkout
  • gd – Alias for git diff
  • ghh – Alias for git help
  • gm – Git merge
  • gl – Git pull

There are so many more aliases than the ones depicted in the given list. Reference the following link to discover more:

https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git

Git Autocompletion

Another feature of the Git plugin is the ability to provide an autocompletion for Git commands and branch names.

When typing the Git command or branch name, pressing the “Tab” key will use the Git plugin to suggest and autocomplete the matching command or branch name.

For example, if you want to run the Git checkout and switch to a branch named “feature-branch”, you can type “git checkout fea” and then press “Tab” to autocomplete the branch name.

Git Syntax Highlighting

As you can guess, the plugin also adds a syntax highlighting to Git commands. This means that Git commands and their arguments are displayed in different colors which make it easier to distinguish them from other texts in the terminal.

For example, when you run the Git status, the “git” part will be in a different color than the “status” part.

Conclusion

In this tutorial, we learned how to enhance your terminal and Git experience using the Git plugin provided by Oh My Zsh.

About the author

John Otieno

My name is John and am a fellow geek like you. I am passionate about all things computers from Hardware, Operating systems to Programming. My dream is to share my knowledge with the world and help out fellow geeks. Follow my content by subscribing to LinuxHint mailing list