Hi, I am Jürgen. I am a Software Developer and passionate about full-stack web technologies.

Neat Git aliases for more efficiency

February 8, 2018   Comments
Main image from post

Git is the most popular version control system currently. As a software developer in a team, no matter whether you work on websites, backend services, mobile apps or any other piece of software, your probably use it every day. Typing git commands on a CLI is an every day habit, some developers do not even think about anymore because it’s done so automatic. However, for such a frequent activity even small improvements can save you quite an amount of time in total and can make the usage smoother. I want to show you how git aliases can be used to improve your work. Based on what I learned from colleagues and my own experience I created a list of useful aliases I will share here.

How to create git aliases

Git aliases allow us to define abbreviations for commands we often use. Actually this is as easy as saying

git config --global alias.st status

After executing this command we can say git st and the status command gets executed. Neat trick but does not impress you yet? I can understand that 4 characters less do not make an extreme difference here. However, where it got really interesting for me, was the first time I saw a colleague typing git sps on his command line. It’s actually an alias for the following commonly used command combination.

git stash
git pull
git stash pop

Every time I want to pull the latest changes I can use git sps. I do not have to care anymore whether I have any unstaged changes before pulling. This is where git aliases make working on the command line more efficient.

By the way, all aliases you define are automatically added to the .gitconfig file in your home directory.

My current git alias list

You can now define any git alias you think will be useful for you. Based on my experience, working style and input from work colleagues, I created a list of aliases which I want to share with you here. The snippet below shows the according extract of my .gitconfig file.

[alias]
	us = reset HEAD --
	last = log -1 HEAD
	co = checkout
	br = branch
	ci = commit
	st = status
	sps = !git stash && git pull && git stash pop
	sp = stash pop
	sl = stash list
	sc = stash clear
	please = push --force-with-lease
	sd = stash drop

No matter, whether you use it as a starting point or not, I definitely recommend using aliases if you happen to use git on a daily basis. Feel free to extend the list and tailor it to your needs. If you have other cool ideas regarding git aliases, I would appreciate any comment you leave at the end of this post.