In the last article, Source Control using Git in Azure Data Studio (ADS), we explored the following topics:
- The requirement of Source control for SQL scripts
- Git installation on Windows
- Integrate Git in Azure Data Studio
- Create Git repository, add SQL scripts, modify files, commit into source control
- View different versions using the Git timelines
In this article, we will take a step forward and integrate Git installed locally on the GitHub.
First, it is essential to understand the difference between Git and GitHub terminology.
The difference in the Git and GitHub
Git version control is installed locally on your system.
In the previous article, we installed it locally and configured
It is a cloud-based hosting to store your scripts with different versions, repositories.
Git is primarily useful for version control and codeshare
It is a centralized source code sharing platform
It is an open-sourced licensed and provides a command-line interface
Github includes a free tier, pay as you go account as well. We get a graphical interface for GitHub
In Github, we have a centralized platform in which you can create repositories among users, and they can work on it simultaneously. By default, it provides public access for your repository, but you can modify it to a private mode as well
If your team has many developers, each of them needs to install Git software locally. You can push and pull changes from their systems, but it becomes slightly complicated as the number of users grows. In the following image, it shows two separate users with Git installed on their systems. Now, both users can push and pull their changes.
GitHub is a cloud-based web hosting repository. Users can connect to it and begin storing, retrieving the codes.
Git and GitHub integration in Azure Data Studio
In the above section, we discussed the differences in Git and GitHub. You can integrate these two tools to utilize the benefits of both local resources as well as a cloud solution. You can create a free account in the GitHub and create the repository. Developers can clone their repository from the Git into the GitHub.
First, open the URL https://github.com/ and click on Sign Up.
Provide the required inputs such as username, email address, password, and verify the account.
After you create a free GitHub account, create a repository name. By default, it is a public repository so everyone can see the repository, but as a repository owner, we can choose who can commit their changes.
Create a GitHub Repository
In the below screenshot, we see two parts for repository:
- Owner: It is the user name we created during signup for the GitHub account
- Repository Name: It is the folder created to store the code
Click on Create repository. It gives you a web URL that we use to integrate Git in Azure Data Studio with the GitHub.
It also gives you instructions to create the repository from the command line. We will explore the git command later.
Integrate GitHub and Git using Azure Data Studio
Now, launch the ADS and navigate to View-> Command Palette and look for the Git Add Remote.
It opens a pop-up window that asks for the remote name. You can give it any user-friendly name. In the ADS output, you can view the Git commands it uses for its commands. For example, it uses git remote command for this purpose. You can also enable Git: Show Git Output to view git commands it executes in the background.
After you specify a remote name, press enter, it asks for the URL. We need to specify the GitHub repository that we created earlier.
We do not get any confirmation message that it added the remote URL. No error means everything is fine. However, you can view in the git output that it adds the URL we specified in the GUI.
Synchronization between Git and GitHub repositories
Now, let’s remove the earlier file and add a new SQL script without any version. You can follow the previous article and commit a SQL script. In the timeline, we can see that custom message specified by us.
At this point, we have prepared the following things:
- Added a GitHub remote URL in the Git configuration of Azure Data Studio
- Created a SQL script and committed it in the source control
Now, we have the requirement to sync this local repository of Git into the remote repository of GitHub.
To do so, navigate to View-> Command Palette-> Git Sync.
It starts the synchronization process between the local repository and remote GitHub. We have not specified any explicit branch, so I use the master branch in the GitHub. Click on OK in the below action pop-up.
It uses a git pull command for the master branch. It also shows you the list of scripts that it starts synchronizing.
Now, refresh the web browser for GitHub. In my case, I have two repositories in GitHub. After the synchronization, you can see that Repository ‘RajendraScripts’ shows a t-SQL icon. It shows that this repository has got the SQL script.
Open this repository, and it shows the SQL script file that we have in Git Source. It also shows the message we used that we specified during commit the script in the source control.
Now, click on the file name to view the SQL script.
Can we edit the file in the GitHub and sync it back to the Git repository? Let’s check it out. Click on the highlighted edit icon in the above image to make changes in the code. It opens the script editor. In the below script, I added a few database names, as shown below.
I added the comment Update Script – Add Master, Model, and MSDB database. It suggests that the summary should be less than 50 characters. We can put the extra characters in the description field.
For the commit, we got two options. We can either commit directly to the master branch or create a new branch for this commit in GitHub. Let’s go with the first option and commit to the master branch only.
Click on Commit Changes. It commits our script changes, and you can see the latest script version along with the script commit summary.
Click on the history, and it gives you script versions to commit records. We can see it has two commits as of now.
- The First commit – It synchronized the script from the Git repository
- The second commit– We modified the script in the GitHub editor and committed it to the master branch
Now, switch to Azure Data Studio and sync the source control again using the Git sync option in the command palette. It reflects the script changes performed in the GitHub for the local repository as well. In the logs, you can see it performed the sync from the GitHub repository URL.
You can click on the script name in the GitHub folder, and it has the latest script.
Create a Script Version in the GitHub and sync in the Git repository of Azure Data Studio
Let’s create another version of the script. This time we will add an additional script (highlighted below) using the ADS Git repository.
We need to commit each time it needs to be saved into the source control. As we already know, it uses Git Commit to save changes in the script.
Give a suitable name for the commit. Ideally, this commit message should reflect the changes performed in a few words.
You got the commit message in the Git timeline after the commit is done.
Perform manual sync between Git and GitHub repositories, and you can see the latest code being checked in.
Click on the commit message. You can see the changes in a script in a friendly interactive editor. It shows the plus (+) symbol for the lines we added in the script. Similarly, if we remove any lines, you see it with a minus (-) symbol.
Comments on the GitHub commit
GitHub provides additional functionality for the users to put their comments on the scripts. Suppose your team member reviewed the script. He can put a comment on the script. Open the script version and put a comment on it, as shown below. Put a comment and click on the Comment on this commit.
It saves the comment for the corresponding commit, as shown below.
Other users can view the comment, reply to the comment, or use smileys as well. Click on the smiley icon and choose the appropriate smiley to showcase your reaction to the comment.
We see the reaction on the comment in the following image.
In this article, we explored the integration of Git and GitHub repository with Azure Data Studio. GitHub is a web-based cloud hosting, and you can sync your local repositories into it. It is bidirectional sync that means you can modify the script either in Git or in GitHub console, and changes reflect in the other repository. We will explore more on the source control in Azure Data Studio in my upcoming articles. Stay tuned!
Table of contents
|The SQL Server Assessment Extension for Azure Data Studio|
|Source Control using Git in Azure Data Studio (ADS)|
|Integrating Azure Data Studio with Git and GitHub|
|Working with Git components in Azure Data Studio|
|Explore branches in Git Source Control|
- Useful Considerations for SQL Server Disaster Recovery - October 27, 2020
- Install SQL Server Linux (2017 version) on SUSE Linux in Amazon EC2 instance - October 26, 2020
- Monitor SQL Server Always On Availability groups using extended events - October 20, 2020