Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Welcome to MediaGit-Core, a next-generation media versioning system built with Rust that replaces Git-LFS with intelligent compression, multi-backend storage, full branching support, and media-aware merging capabilities.

What is MediaGit-Core?

MediaGit-Core is an open-source version control system designed specifically for managing large binary files (media assets) with the same efficiency and flexibility that Git provides for source code. It solves the fundamental limitations of Git-LFS while providing a familiar Git-like interface.

Key Features

High Performance

  • Fast staging: 25–240 MB/s for large files (release build)
  • Efficient storage: Up to 81% savings via compression + dedup + delta encoding
  • Parallel operations: Optimized for modern multi-core systems

Multi-Backend Storage

Support for 7 storage backends with zero vendor lock-in:

  • Local filesystem
  • Amazon S3
  • Azure Blob Storage
  • Backblaze B2
  • Google Cloud Storage
  • MinIO
  • DigitalOcean Spaces

Media-Aware Merging

Intelligent conflict detection and resolution for:

  • Images (PSD, PNG, JPEG, WebP)
  • Video files (MP4, MOV, AVI)
  • Audio files (WAV, MP3, FLAC)
  • 3D models and game assets

Full Branching Support

  • Create, merge, and rebase branches just like Git
  • Protected branches with review requirements
  • Branch-specific storage optimization

Enterprise-Ready

  • AGPL-3.0 community license + commercial licensing
  • Audit trails and security features
  • Self-hosted or cloud deployment options

Who Should Use MediaGit-Core?

MediaGit-Core is designed for teams and individuals working with large binary files:

  • Game Developers: Manage textures, models, and game assets
  • VFX Artists: Version video files, composites, and renders
  • ML Engineers: Track datasets and model files
  • Design Teams: Collaborate on PSD files and design assets
  • Media Production: Manage video, audio, and multimedia projects

How Does It Compare?

FeatureMediaGit-CoreGit-LFSPerforce
ArchitectureStandalone native VCSGit extension + serverCentralized VCS
Branch Switch SpeedInstant (ref-based)Instant (Git handles)⚠️ Copy-based
Storage Savings (avg)Up to 81% (compression + dedup + delta)~0% (no dedup/delta)~10-20% (RCS deltas)
Deduplication✅ Content-addressable❌ None✅ Server-side
Multi-Backend Support7 backendsServer-dependentProprietary
Media-Aware Merging✅ Yes❌ No⚠️ Limited
Offline Commits✅ Full DVCS✅ (Git handles)❌ Server required
Open Source✅ AGPL-3.0✅ MIT❌ No

Quick Example

# Initialize a repository
mediagit init my-project
cd my-project

# Add and commit media files
mediagit add textures/*.png
mediagit commit -m "Add game textures"

# Create a feature branch
mediagit branch create feature/new-assets

# Work on the branch
mediagit add models/*.fbx
mediagit commit -m "Add 3D models"

# Merge back to main
mediagit branch switch main
mediagit merge feature/new-assets

Getting Started

Ready to get started? Head to the Installation guide to install MediaGit-Core on your platform, then follow the Quickstart Guide for a 5-minute tutorial.

License

MediaGit-Core is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

  • ✅ Free to use, modify, and distribute
  • ✅ Source code must be made available
  • ✅ Network use requires source disclosure (AGPL provision)
  • ✅ Commercial use allowed with license compliance

See the LICENSE file for details.

Community and Support

What’s Next?