As a Salesforce Admin you may be thinking what is all this hype about commit to Git?
Let me try and demystify Git.
Git is simply a distributed version control system, it’s free and open source. Where every developer, and I will argue every admin, app builder, citizen developer etc. should collaborate.
The reason for this is the importance of version control and really having a single source of truth.
As mad it may sound, your production environment can’t be your source of truth, nor any monolithic org. If something goes bananas there you are screwed, there isn’t an easy way to revert changes nor to quickly identify what’s gone wrong to a granular level.
Instead, having a repository like GitHub that provides hosting for software development version control by using Git can act as an enabler of the above. Reducing time to recover and change failure rate.
So the big difference on this is that instead of using ‘change sets’ to move changes between environments, you no longer do it org to org, but to a code repository instead.
In a simplistic fashion it looks something like this;
You may have different branching strategies and also a different development lifecycle with more monolithic orgs to get to production. For either of the two, or as a general mantra in life: keep things simple! Your future self will thank you.
There is a trailhead module on just that, I’d urge you to consider this sooner rather than later: packaging development.
Going back to the concept of Version Control, this also enables the ease to collaborate, whilst you are working on new features and enhancements you can pull the most recent version, which may include other people’s progress, so that you are in sync with the latest bundle that will get deployed.
And let’s not forget the ability to do peer review, also known as code review, a practice which is there to reduce bugs whilst increasing quality and institutional knowledge.
In addition you avoid overriding each other’s work, and in unison merging the work so it combines together towards a successful deployment. Making work safer for all parties involved; you, your devs, your QAs, your release champion, your operations team, your users, your customers… The list is endless.
And there is of course another trailhead module on this: Git and GitHub Basics.
Salesforce Git Conclusions
One of the best time investments for an Admin in my opinion is to learn how to navigate and contribute to their team code repository.
I think this video explains quite simply about the different files and how to pull and commit the different files from and to Git. Yes literally these are files you move around, edit and tweak. You can do so with the CLI or you can also have tools to make it easier for you as an admin to manage it, like Gearset or Copado.
Lastly to mention the cherry on top which is that version control can also enable automation of deployments and with it the automation of tests. So you can build a safer and robust way to consistently monitor and get feedback, without slowing down your speed to market. If anything it will speed it up over time.
Author Bio: Ines Garcia
Ines Garcia founder of www.getagile.co.uk, is an Agile Coach, Certified Scrum Professional (CSP-SM) and a Salesforce MVP, together helps organizations to become more agile whilst delivering Salesforce technology. She holds 9 active Salesforce certifications and has delivered numerous Sales Cloud, Service Cloud, Community Cloud, Pardot, Apps, Social Studio, Marketing Cloud solutions to a variety of organizations on Salesforce since 2013. Always with the end in mind of empowering Agile mindset evolution (not revolution).