Version control lets you track changes, keep history, and collaborate safely. GitBlocks brings Git-backed datablock version control to Blender in a way that fits how Blender projects actually work.
Control the history and versioning of your .blend projects, see who changed what and when, revert changes, check out older versions, and merge or rebase updates, all from the Blender UI.
Other Blender version control systems rely on storing full .blend copies or recording user inputs. Those methods are bulky, fragile, and make it hard to understand what actually changed.
GitBlocks uses Blender's datablock system. It serializes individual datablocks into JSON files, stores them in a Git repo, and deserializes them back into Blender when you check out a previous commit or reopen a project.
This runs alongside Blender's autosave without interfering with it, so you can keep autosave on and still get clean, reviewable history.
Screencast.from.2026-03-23.23-57-34_under10mb.mp4
- Datablock-based diffs written as readable files.
- Stage or unstage individual changes or grouped updates.
- Commit from inside Blender with clear blockers when something is wrong.
- Check out older commits, switch branches, or create branches from commits.
- Merge and rebase with conflict resolution tools.
- Save your
.blendfile to a folder that will become the project root. - Open the GitBlocks panel in the 3D View sidebar.
- Click Init Repository to initialize a Git/GitBlocks repo.
- Make Blender changes; GitBlocks will write datablocks automatically.
- Stage individual changes or groups from the panel.
- Commit with a message.
- Use Checkout Commit for a detached preview, or Checkout Branch to return to a branch.
- Download the GitBlocks add-on (zip or folder).
- In Blender: Edit > Preferences > Add-ons > Install...
- Enable GitBlocks.
- In the add-on preferences, click Install Dependencies.
The local test harness still honors GITBLOCKS_BLENDER_BIN as the strongest direct override.
If you want Blender to be downloaded into a cache instead, set GITBLOCKS_BLENDER_CACHE_DIR and choose either a single version or a version matrix. Unsupported Blender selections fail fast before the matrix starts, and the supported matrix is defined in tests/blender_versions.py as SUPPORTED_BLENDER_VERSIONS:
python3 test.py --blender-version <one of SUPPORTED_BLENDER_VERSIONS>python3 test.py --blender-versions "$(python3 -c 'from tests.blender_versions import SUPPORTED_BLENDER_VERSIONS; print(",".join(SUPPORTED_BLENDER_VERSIONS))')"python3 test.py --test commit_preflight
Blender archives are pulled from the official release archive at https://download.blender.org/release/.
Single-version selectors can also come from GITBLOCKS_BLENDER_VERSION, and matrix selectors can come from GITBLOCKS_BLENDER_VERSIONS.
The single-test shorthand can also come from GITBLOCKS_TEST_FILTER=commit_preflight.