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

Matthäus Niedoba
November 9, 2022
6
min read

Introduction

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.

The main overview of Azure DevOps services
Click on Pricing and pick the Basic plan to get started

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.

Create a new project to create a Git repository. The default settings are fine.

Add members

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”.

By default, new members are set to “Stakeholders”. You need to change that to “Basic”
Click on the name of your organization (or workspace)
Open the organization settings
Change your access level 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.

Go to your Git repository
Copy the repository URL. You will paste it in your Git client

Git for artists

Built-in LFS support, no complicated configuration and an artist friendly user interface.
Learn about Anchorpoint

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.

Open Anchorpoint from WIndows Explorer
Browse to your project folder and open it in Anchorpoint
Create a project in the folder where your Unreal or Unity files are located
Create Git Repository will turn that project to a Git repo which you can upload to Azure DevOps
Create a project as a Git Repository in Anchorpoint
Set the Exlude Files from Version Control (.gitignore config) to “Unreal Engine” or “Unity” and paste the Repository URL from Azure DevOps

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.

Assigning team members from a workspace to a project in Anchorpoint
Assign existing workspace members or invite them via email

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.

Make an initial commit in a Git repository in Anchorpoint
Click on Timeline, then Uncommitted Changes, enter a message and press “Commit”

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.

Enter your DevOps credentials here
Pushing Git commits from Anchorpoint to Azure DevOps
Push your files to DevOps after you committed them

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

Azure DevOps

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.

Anchorpoint

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.

Accept workspace invites in Anchorpoint
After you add your team members to a project, they will get an invitation which they need to accept.
Setting the path for a Git repository in Anchorpoint
The repository URL is already filled in. They simply need to choose a folder on their hard drive where to download the files. This folder needs to be empty.

Collaborate

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.

Related articles