GlossaryDefinition

Git

The dominant distributed version control system for software engineering. Excellent for text. Struggles with large binary files without extensions like Git LFS.

Git is the distributed version control system that won software engineering. Every developer has a full copy of history, branching is nearly free, and merging text is largely automatic. For code, it is excellent and the debate is settled.

Game projects expose its assumptions. Git was designed around small text files that diff well, and it stores complete copies of anything that does not. Commit a 500 MB texture ten times and your repository carries ten full copies forever, because history is immutable by design. Since every clone carries all history, a repository that grows this way punishes every new hire who joins.

Git LFS exists to patch this by storing large files outside the repository and leaving text pointers behind, but it introduces its own failure modes and does not change the fundamental mismatch.

The second problem is cultural rather than technical. Git's model assumes you branch freely and merge later. That assumption holds only while merges succeed, and merges of binary assets never do.

Plenty of Unreal teams do run on Git successfully, usually by keeping C++ in Git for code review and putting Content elsewhere. What rarely works is the whole project in one Git repository past a certain size.

Source control without the jargon

Cloud source control for Unreal Engine 5 teams. Free for solo devs, first commit in five minutes.

Create your first project