Mike Kasberg

Husband. Father. Software engineer. Ubuntu Linux user.

Image for When's My Code Going Out?

When's My Code Going Out?

30 Apr 2017

At SpotX, we manage our codebase with Git. Our commits flow from our develop branch to production, with a code-freeze branch in-between. Like this:

Git branching
diagram.

With any web application, it’s really important for developers to know when their code is going out. So they want to know which branch it’s on. To help with this, I created a few simple git aliases that show recent commits a developer has made in any branch. Here are the commands to create them:

$ git config --global alias.my-dev 'rev-list origin/develop ^origin/freeze --author=mike@mikekasberg.com --pretty'
$ git config --global alias.my-freeze 'rev-list origin/freeze ^origin/prod --author=mike@mikekasberg.com --pretty'
$ git config --global alias.my-prod 'rev-list origin/prod --author=mike@mikekasberg.com --pretty --after="14 days ago"'

Using them is easy!

$ git fetch
$ git my-freeze
commit bebba3afb108719bbdc500cb3dce50ffc062f060
Author: Mike Kasberg <mike@mikekasberg.com>
Date:   Sun Apr 30 13:15:15 2017 -0600

    Write more code... Make another commit

commit 00a54a1d6cc80a7103389bc813c6d76c2014cd85
Author: Mike Kasberg <mike@mikekasberg.com>
Date:   Sat Apr 29 11:16:44 2017 -0600

    Write some code... Make a commit

This is a really simple way to use a git alias to make branch management a little easier. With slight modification, it will help with pretty much any branching strategy - for example, you could get a list of commits written by you on a feature branch that are not yet in master:

$ git config --global alias.my-feature-commits 'rev-list origin/feature ^origin/master --author=mike@mikekasberg.com --pretty'

With a little customization, you can make an alias like this to help out with your own projects.

About the Author

Mike Kasberg

👋 Hi, I'm Mike! I'm a husband, I'm a father, and I'm a senior software engineer at Strava. I use Ubuntu Linux daily at work and at home. And I enjoy writing about Linux, open source, programming, 3D printing, tech, and other random topics.

Share!

Sharing my blog posts is a great way to support me and help my blog grow!

I run this blog in my spare time, without any ads. There's no need to pay to access any of the content on this site, but if you find my content useful and would like to show your support, this is a small gesture to let me know what you like and encourage me to write more great content!

Related Posts