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?
| Feature | MediaGit-Core | Git-LFS | Perforce |
|---|---|---|---|
| Architecture | Standalone native VCS | Git extension + server | Centralized VCS |
| Branch Switch Speed | Instant (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 Support | 7 backends | Server-dependent | Proprietary |
| 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
- GitHub: winnyboy5/mediagit-core
- Documentation: https://winnyboy5.github.io/mediagit-core
- Issues: GitHub Issues
What’s Next?
- Installation Guide - Install MediaGit-Core on your platform
- Quickstart Guide - Get up and running in 5 minutes
- CLI Reference - Comprehensive command reference
- Architecture - Learn how MediaGit-Core works