What is a mirror?
A mirror is a synced, read-optimized copy of a GitHub repository, hosted on Entire’s Git network in the region you choose. The repository stays on GitHub, and mirroring gives developers and agents a low-latencyentire:// remote they can clone, fetch, and push through without a hard cutover.
Developers can keep pushing to GitHub as usual, while agents, automation, or selected users use the entire:// remote. Behind the scenes, Entire keeps the mirror in sync.
Mirrors are served by the same distributed network as Entire Repositories. See that page for the larger model behind regional Git reads, repository state, and agent traffic.
How mirrors work
To mirror a GitHub repository, the Entire GitHub App must be able to access the repository. After that, a user with access to the GitHub repository can create the mirror from Entire.io or sign in withentire login and create it from the CLI.
When the mirror is created:
- Entire syncs the repository from GitHub
- the mirror is placed in the selected Entire region
- users get an
entire://Git remote - agents can clone and fetch from the regional mirror
- pushes through the mirror are authenticated with GitHub
Create a mirror
To create a mirror from the web app, see Mirrors in Entire.io. For the command-line flow, see Mirrors in CLI. For an end-to-end tutorial, see Mirror a GitHub Repository.What changes
Creating a mirror gives you:- a synced Entire copy of the GitHub repository
- an
entire://remote for Git operations - a regional read path for agents and automation
- an Entire mirror access list synced hourly with GitHub collaborators
What does not change
Creating a mirror does not:- move, delete, or replace the GitHub repository
- require every developer to change remotes
- rewrite Git history
- bypass GitHub authentication for pushes
Unmirrored branches
Branches whose names start withentire/unmirrored/ are never synced to GitHub. An unmirrored branch exists only in the Entire region you push it to: it does not appear on GitHub, and it is not available from mirrors in other regions.
Because pushes to unmirrored branches stay in Entire instead of being forwarded to GitHub, they are not subject to GitHub’s push rate limits. Use an unmirrored branch when you need:
- more push throughput than GitHub allows
- a branch you can keep pushing to while GitHub is unavailable
- a target for push benchmarks
entire/unmirrored/ prefix.
Limitations
Mirrors do not currently support Git LFS. See Limitations for details and workarounds.Continue with
GitHub App Access
Choose which GitHub repositories Entire can access.
Mirrors in Entire.io
Configure GitHub access and choose repositories from the web app.
Mirrors in CLI
Create a mirror from the terminal and use it from Git.
Mirror Access and Permissions
Understand GitHub-synced access, hourly collaborator sync, and offboarding.
Limitations
See what mirrors do not support yet, and the workarounds.
Troubleshooting
Fix mirror setup, access, clone, fetch, and push issues.