Version control using Git and Azure DevOps
In this article we will set up a Git server on Azure DevOps, that will be the source of truth for your next game project
If you want to collaborate on a game project, resolving version control (or source control) is one of the first things you need to consider. If you are familiar with Git, you may have heard of GitHub. This allows you to store your game project on a server, so that everybody has access to it. GitHub is great for software development, but for games, there are better solutions out there.
Microsoft Azure DevOps is a Git server and a viable alternative to GitHub, GitLab, and Bitbucket. It provides unlimited storage for LFS, which is a blessing for game development with Unity and Unreal. The free plan allows up to 5 users, which is great to get started. Everything above 5 users comes at a reasonable price of $6 per user per month. This is keeping in mind that it does not bill you for storage, which you will need for textures, movies, audio and 3D files.
Azure DevOps is part of the huge Microsoft Azure ecosystem, which is a direct competitor to AWS from Amazon. It seems a bit overwhelming to get started and this tutorial will help you with that.
Setting up Azure DevOps
Go to dev.azure.com and ignore the top menu, which is applicable to the Azure ecosystem. The menu at the bottom is exclusively for DevOps. Click on Pricing and pick the Basic Plan.
Now you have to walk through the typical account creation process. When you are done with that, you will be able to create a new project in DevOps. This is what you need, to create a Git repository. You can make the project public or private, that’s up to you.
In the next step, you need to add members. There is one small hiccup with DevOps. By default, new members are set to “Stakeholders”. With that role, they cannot access the Git repository. Any Git client will throw an error message. You need to change your role.
After you added your member, go to your page, which lists all the projects, and click on organization settings. Then click on users and on the little menu, you can change the role to “Basic”.
Connect the Git repository with your Git client
In Git terminology, you name this a clone repository. This is nothing more than connecting (and in some cases downloading files from the repository) with a desktop application. This application is your Git client, which will push and pull files from your computer to the server.
Git for artists
Setting up your Git client
In the next step, you'll need a Git client. This is a desktop application that will push and pull files from your computer to the server. In this tutorial, we will use Anchorpoint, because it is suited for artists and has all the configuration for Unreal or Unity projects ready to go. If you don’t want to use Anchorpoint, there are alternatives like GitHub Desktop or SourceTree.
In the next step you need to go to “Project Settings”, under “Members” and add your team member using the same email that you used for Azure DevOps.
Upload your game project to Azure DevOps
Anchorpoint detects that you have changes that haven't been committed yet. There are files on your computer that are not on the server. You need to enter a message and commit them.
When you entered the message and pressed “commit”, you created a version, which is basically a checkpoint for your project. After that, you can press “Push” to upload them to Azure DevOps.
At some point, a window will pop up, called the Git Credential Manager. This utility will authenticate Anchorpoint with DevOps. Enter your DevOps credentials here.
After that, your files will be uploaded to Azure DevOps. Any team member can clone (basically connect to the repository with a Git client) the repository and download the changes.
What your team members should do
Once your team members are invited to DevOps, they will get an invitation email, which they need to accept. They need to create an account on DevOps. That’s all.
When you invited your team member to an Anchorpoint project, which you did in the step above, they will get a notification. They simply need to click on the invite and join the project. Anchorpoint will ask them, where to store the Git repository. They have to pick an empty folder on their hard drive and then Anchorpoint will download the game project from DevOps.
This is all you need to do to set up a game project with Azure DevOps and Anchorpoint. From now on, you can make changes in Unreal or Unity and commit, push and pull. That’s everything you need to know about Git.