Working with Git and GitHub – for both application and database code

How SMC is learning some new skills on behalf of their clients.

Views 1905

This week Warwick and Hamish had been discussing Source Control and specifically how we can get clients to use it more.

Hamish has been using git for over 4 years – he was taught how to use it by application developers who used it to version their code. Some of that application code was used to model SQL Server databases — the developers used Entity Framework (a popular ORM) and their database code benefited greatly from branching within Source Control.

It was when Hamish started using SQL Server Data Tools and other tools like Redgate SQL Source Control that Hamish realised it would be help greatly if clients knew how to use git commands (as git is one of the better Version Source Control systems out there).

Warwick was keen to extend his knowledge of git commands so this week we’re practicing what we’re about to preach…

Knowing how to use Source Control commands and utilites are vital if you want to get your application code and more importantly (from our POV) your database definition and code into Source Control. This is crucial to implementing DevOPs for the Database – I’ve written about the first thing you should consider – unit tests for your database:

This is the next step – getting to know Source Control and the next step is to start using it proficiently.

We’ve moved some of our documentation up into GitHub and making use of branching/merging on our own “data”.

Our goal is to get our clients to use Source Control and the first step is to practice on something small and something you’re OK if you make mistakes with (always have a backup!!). It is great to learn new things and I always encourage people to try and break things as it is fun to learn how to fix it when you’re practicing – not so much at 3am and you have to repair a mission critical application or database.

Keep learning is something we all have to do in our industry and we’re definitely practicing what I’ve just preached.

Struggling with how the learning curve associated with git and/or Source Control or how DevOPs can make your database deployments better?

Check out our training resources at we’d be more than happy to help you on your Data Platform journey.

Leave a Reply

Your email address will not be published. Required fields are marked *


Hi, I'm Hamish Watson, I am a Microsoft Data Platform MVP and Database DevOPs evangelist for SQL Masters Consulting. In my blog posts I will look at all things Database DevOPs to assist your professional development.