
Source Control
What is it and what it’s good for?
You have a project. You worked on it for half a year, and your computer burnt.
You don’t have a project anymore.
Moreover, you will never be able to start another one, because you will be afraid of this happenning again.
Data backup programs prevent this by keeping your project on an internet server, meaning, no matter if you lose you computer on the bus or an elephant runs over it, everything is kept 24/7 and you can easily download it to another computer.
What programs are there and what we’ll learn?
The most relevant programs for us in GameDev are:
- Git
- Perforce
In this lesson we will learn Git. We will see the difference later.
Time to Download!
During the installation, it’s important to select the right options:

2) After installing the previous one, we will add an important plugin: Git-LFS
(just click Next everywhere)
How it works in theory:
- Git saves the project files on a server (which we will set up soon).
- On one server there can be several projects, so Git separates them and treats each as an individual entity which is not related to others. In Git, each project folder is called a “repository”, or in shorthand, “repo”.
- Every we time we add or edit anything in the project (in Git terms, repo), Git will show the changes.
- Git doesn’t save the changes on the server automatically! So if we ruin anything, we can easily return to the version saved by Git.
- Git keeps versions of our project every time we tell it to do so, and they are called “commits“. Each commit is a packet of files we edited, deleted or added to the project.
- We define what each commit includes, and when we decide, we upload it to our server! This action is called “push“. At this stage, our changes are finally backed up and saved on the internet.
- The moment we do that, all team members can download the changes, or in a professional language, “pull“.
How it works in practice:
Naah, just kidding; you learn from mistakes.
“Okay, let’s do it! You’ve already killed me with more than 10 words of theory URGH…”
- We create our own server: Azure DevOps
- Basic use of Git in UE4
–>Download Files from the Video<–
Commands from the video for linking the local project to the server (of course, replace the link with your own):
git init git add * git add .gitignore git add .gitattributes git commit -m "initial commit" git remote add origin https://sufganiot.visualstudio.com/shnitzel/_git/maim git push -u origin --all
To check Git status:
git status
How to download the project from the server to a computer?
In the future, we will learn how to use Git to work on a shared project as an organized team, instead of syncing project files like a bunch of morons on Google Drive or Dropbox :]