Migrate my GitHub repository to a native repository on Entire using
Git and the Entire CLI. Use a manual workflow that does not require
the internal entire-migrate plugin.
Ask for the source repository, working checkout, existing Entire project,
and destination name if I have not supplied them. Confirm the project's
region, access, destination visibility, and default branch protection.
Check Git, git-remote-entire, GitHub access, and my Entire login. Read
entire agent-help and the relevant command help before running commands.
Ask me to pause GitHub pushes and merges for the migration. Check for
Git LFS in the source history and for submodules. Stop for a separate
payload plan if LFS is present. Explain that submodule repositories and
their URLs require separate handling.
Create a separate bare snapshot of branches and tags, excluding GitHub
pull request refs and generated gh-readonly-queue and trunk-merge branches.
Keep my working checkout untouched. Ask whether I need custom refs,
including checkpoint refs; copy only explicitly selected supported refs.
Retain the snapshot and an exact manifest of ref names and object IDs.
Create an empty Entire repository with the snapshot's object format.
Set its visibility before uploading data. Confirm provisioning is active
and obtain the entire:// clone URL. If creation times out, inspect the
existing repository before retrying creation.
Confirm GitHub still matches the snapshot and the destination is empty.
Push the default branch first, then the remaining selected refs, using
explicit refspecs and create-only leases. Do not use git push --mirror.
Stop and inspect any failed or partially completed push. Do not overwrite
divergent refs or delete destination refs.
Compare ref object IDs against the snapshot, recheck GitHub for changes,
and verify that both repositories advertise the same default branch.
Apply the agreed branch protection and check collaborator access.
For a standard checkout with a direct GitHub origin, no separate push URL
or custom push routing, and no gh remote, add gh with the original URL,
change origin to the Entire URL, fetch origin, and refresh origin/HEAD.
Keep the origin name to preserve upstream configuration. Check local
branches and uncommitted work afterward. If the setup differs, agree on
a remote configuration plan with me before changing it.
Report the destination, verification results, and snapshot location.
Keep GitHub and the snapshot available. Explain that other checkouts,
CI, GitHub issues, pull requests, release assets, and permissions need
separate work. Do not archive or delete the GitHub repository.