Jack Moxon, co-founder of Blue Canvas, recommends using SCM Breeze, a Bash library that simplifies Git commands and encourages good habits.
With this article, learn about SCM Breeze, a Bash library that adds shortcuts and aliases to make interacting with Git on the command-line easier. You will also learn how SCM Breeze can help with writing high-quality commit messages, committing more frequently, and how it can be useful for Salesforce developers.
Here are our 5 Key Takeaways:
- SCM Breeze is a Bash library that adds shortcuts and aliases to make interacting with Git on the command-line easier.
- SCM Breeze can help with writing high-quality commit messages and committing more frequently.
- Using SCM Breeze can encourage good habits and make collaboration on Salesforce Orgs easier.
- SCM Breeze is open source and free.
- SCM Breeze is a useful tool for Git power users and beginners alike.
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.
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.
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.
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.
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.
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!
How to rollback a Salesforce change using Git without having to use the command line.
Salesforce DX adoption has been low due to the difficulty of moving diverse teams to source driven development, but Salesforce is working to address this with improvements to the Metadata API and the forthcoming Dependency API. The keynote also highlighted the ability to build custom plugins to extend the Salesforce CLI and the Apex Replay Debugger in VS Code. The ultimate goal of Salesforce DX is to enable continuous delivery and continuous integration for Salesforce.