Jack Moxon is a co-founder of Blue Canvas, where he runs sales, marketing and front-end development. He uses SCM Breeze daily.

SCM Breeze

I started doing web development pretty late in life – I was 24 when I started. I’ve never been paid to write code, but I really love it and have a number of side projects that I work on for fun.

Over the past few years, I have clawed and scratched my way to an understanding of Python, Django, HTML, Javascript and CSS through many hours of trial and error. (There’s a reason they call it “hacking” I guess.)

Hacking away on a side project the other day, my friend (who is a web developer by trade) was watching over my shoulder. He winced as I painstakingly typed each Git command:

git pull origin master
git add filename.py filename2.py filename3.py images/filemname4.png
git commit -m "updating filename.py"
git push origin master

You get the idea.

“Have you ever used aliases?” asked he. “No, sir,” said I.

Next thing you know he pointed me to Nathan Broadbent’s amazing open source tool SCM Breeze. SCM Breeze is a Bash library that adds a bunch of shortcuts and aliases that make it much easier to interact with Git on the command-line. As you now know, we at Blue Canvas believe all Salesforce developers should be using source control, and Git is our favorite tool for that.

SCM Breeze for Git example

With SCM Breeze I no longer have to type the full phrase like git status - I can simply type gs to get a list of all the changes that have been made recently.

When I want to add files, I merely need to type: ga 1-10 or ga 3-6.

If I just want to add specific files. Committing is easy too: gc -m "commit message".

Pushing and pulling are also simplified: gps and gpl, respectively.

There are a bunch of other shortcuts like grb for git rebase and so forth.

Writing high quality commit messages

SCM Breeze is awesome for people like me who are sometimes lazy with their commit messages. I notice that by the time I’ve typed out git add for all the filenames and then git commit -m I’m already tempted to leave a brief and undescriptive commit message. I know better, but I am usually in flow and I don’t want to stop doing the fun work of writing features.

SCM Breeze makes it as easy as ga 1-5 and gc -m and I am much more likely to write a meaningful and useful commit message. This makes my collaborators much happier. It’s also really useful for those rare (okay not so rare) occasions when I introduce a bug and need to do a rollback.

Committing more frequently

The other place where SCM Breeze makes a big difference is that it gets me to commit more often. A best practice is to always commit small bits of work so you can easily see the progression of your code base. SCM Breeze makes committing painless and fast. It also makes it easy to see what is being staged for commit. This is also very helpful when collaborating with others. Your teammates will thank you and think you’re a veritable Bruce Lee of Git.

Salesforce Developers and SCM Breeze

Since Git is an essential part of any Salesforce developer’s toolkit, SCM Breeze can be as well. Whether you are a Git power user or just getting started, it will save you time, encourage good habits, and make collaboration on your Salesforce Orgs much easier.

Oh and it’s open source and free. Check it out!