Version Control



A version control system permits multiple users to work collectively.

It maintains a history of every changes that can be tracked and reverted if needed.

Multiple users can work on the same files simultaneously, and conflicts can be merged together.

A version control is also useful for a single user to maintain and track changes.

Common Systems


Git is a free and open source distributed version control system.

Git can handle small and very large projects efficiently.

Git is distributed and do not require a central server.

GitHub is a popular web hosting service using Git, that was acquired by Microsoft.

GitHub provides several features:

GitHub Desktop is a free and open source client to work with GitHub repositories.

It is written in TypeScript and based on Electron.

GitHub Desktop is available for Windows and macOS.

GitHub is free to use with unlimited public and private repositories. The free plan is limited to 3 users for private repositories.


Perforce is a server-based version control system now known as Helix Core.

It is the most popular version control system in large game studios.

Perforce provides a web client and clients for Windows, macOS, and Linux.

Users submit changed files together in changelists, which are atomic commits (all the files are committed, or none are).

Perforce can efficiently handle small and large files, and is used with source code and source assets.

Perforce is free for up to 5 users.


Alienbrain is a server-based version control system for artists.

It is integrated with several applications such as Photoshop, 3ds Max, and Maya.

The UI is designed around graphical files, to streamline the artist's workflow.

Alienbrain costs around $900 for the most common plan.


Version control systems provides several features.

Multiple users can work simultaneously on text files, and when conflicts occur, they can usually be merged automatically. Complex changes can be merge manually as well, as it generally the case with source code.

When working on binary files such as image assets, merging is not possible so these files are usually locked to prevent multiple users from making changes simultaneously.