Getting Started with Git for Game Dev | Quest to Compile
Microsoft Developer explains why version control in game development is often harder than in typical software projects: game repos include large binary assets (textures, audio, 3D models) that don’t merge cleanly, and teams often need file locking for artists while still enabling fast iteration for developers.
Overview
Andy and Stacey cover how version control works in game studios and demonstrate setting up Git for a real Godot project using the terminal. The video also introduces Git LFS as the key piece that makes Git viable for repositories with lots of binary assets.
What the video covers
Centralized vs. distributed version control
- Compares centralized systems (SVN/Perforce) with distributed version control (Git).
- Frames the trade-offs in the context of game studio workflows.
Creating a repository on GitHub
- Walks through creating a repo on GitHub.
- Connects the local project to the remote repository.
Git fundamentals in the terminal
Covers core Git commands and concepts:
- Initializing a repository (
git init) - Staging changes (
git add) - Creating commits (
git commit) - Syncing with a remote (
git push,git pull) - Working with branches
Branching and merge conflicts
- Demonstrates branching workflows.
- Discusses merge conflicts and how they show up during collaboration.
Git LFS for binary assets
Explains how Git LFS helps when a repo contains large binary files:
- Uses pointer files in the Git repo
- Stores large binaries separately
- Helps reduce local repository size
File locking with Git LFS
- Covers Git LFS file locking and why it matters for game assets that can’t be merged.
- Connects locking to artist/developer collaboration needs.
Best practices for Unity and Godot projects
- Project organization and scene structure considerations
- Using
.gitignoreappropriately - Commit hygiene
- Keeping the main branch stable
Chapters
- 00:00:00 Intro
- 00:01:35 Centralized vs. distributed
- 00:08:31 Creating a repo on GitHub
- 00:14:49 Setting up git in the terminal
- 00:23:18 Branching
- 00:34:59 Merge conflicts
- 00:38:45 Git LFS for binary assets
- 00:48:29 Best practices
Links and resources
- Git: https://git-scm.com
- Git LFS: https://git-lfs.com
- GitHub: https://github.com
- Godot C# Essentials series: https://youtu.be/0Pf41YBedMk
- Full series: https://aka.ms/Quest-to-Compile