What Is a Mirror?
A mirror is a synchronized copy of your repository. The origin remains on GitHub, but the copy lives on Entire in one or more regional clusters of your choice. This allows you to offload heavy read traffic to Entire, enabling your agents to pull and clone faster. Entire represents the GitHub repository as a single repository object. Each region you mirror into is a mirror placement, which connects that object to one Entire cluster. If you mirror the same repository in two regions, you have one repository object and two mirror placements, each with its ownentire:// URL.
Why Use a Mirror
Mirroring is helpful when you or your agents need faster Git reads close to where they run. It works well when:- agents clone or fetch the same repository often, such as a large monorepo with high agentic traffic
- you want your agents to keep cloning and pulling during a GitHub outage
- you want a repository available in your home region or in multiple regions
Before You Create a Mirror
The Entire GitHub App must be able to access the repository before you can create a mirror. After that, anyone with access to the GitHub repository can create a mirror from entire.io or with the Entire CLI. You should choose regions based on where your agents run and where your organization allows code to live. Each region you select becomes a separate mirror placement. If a repository has mirrors in more than one region,entire repo clone and entire repo remote add ask you to choose one. Without a terminal a GitHub mirror falls back to aws-us-east-2.entire.io and errors if it is not placed there, so pass --cluster in scripts, or --nearest to have entire repo clone pick the fastest.
Create a Mirror
There are multiple ways to create a mirror, here’s how:- To create a mirror from entire.io, read Mirrors in entire.io.
- To create one from the terminal, head to Mirrors in CLI.
- For a full walkthrough, see Mirror a GitHub Repository.
What Changes
Creating a mirror gives you:- a synced Entire copy of your GitHub repository
- an
entire://remote for Git operations - faster clone and fetch traffic for agents in that region
- an Entire access list that syncs from GitHub every hour
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 or repository rules for pushes
What Mirrors Do Not Do
Git LFS
Mirrors do not currently support Git LFS. If you clone a repository that uses LFS through anentire:// remote, the checkout can fail because Git LFS tries to download files through Entire:
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 interface.
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.
Troubleshooting
Fix mirror setup, access, clone, fetch, and push issues.