The core definition of the model repository feature is to provide a Git-based version-controlled storage system for machine learning models, enabling teams to manage model files, track versions, and collaborate across tenants. It leverages Git LFS for large file storage and integrates with MLOps workflows to bridge model development and deployment.
Git-native Version Control
High-Speed Transfers
Cross-Tenant Sharing
public as a model marketplace).Seamless Integration
Model Repository Creation & Deletion
File Management
git lfs track for large files (e.g., *.bin, *.h5).Version Control
experimental vs main branches).git tag -a v2.0 -m "Stable release").README.md from the default branch for model descriptions.Cross-Tenant Sharing
public namespace to publish open-source models (e.g., HuggingFace conversions).Integration with MLOps
.gitattributes to specify LFS-tracked files (e.g., *.zip filter=lfs diff=lfs merge=lfs).README.md metadata may block inference deployment.Before you begin, make sure you have Git and Git LFS installed on your system.
$ git lfs version
If you already have a remote repository, clone it. Otherwise, you can initialize a new Git repository locally.
Initializing Git LFS
You can choose to proactively create a .gitattributes file to specify the file types to track.
Alternatively, use the git lfs migrate command to automatically check and migrate large files.
Option 1: Active tracking via .gitattributes (recommended for new projects)
If you already have files in your repository that you want to be tracked by Git LFS, you may want to run the following command after committing your .gitattributes changes to ensure Git reprocesses those files and converts them to LFS pointers:
git add --renormalize .
Option 2: Use git lfs migrate to check and migrate (recommended for existing repositories or historical files)
The git lfs migrate command can find and migrate large files that already exist in your Git history (but are not tracked by LFS). This rewrites history—coordinate with collaborators. When pushing rewritten history, prefer --force-with-lease.
For shared repositories: notify collaborators before migration, and when pushing rewritten history use:
git push --force-with-lease
Once you have configured LFS, add your files to the staging area, commit them, and push them to the remote repository.