Moved four owned projects to GitLab as the working remote with SSH push mirrors that keep same-named GitHub repositories, and the GitHub contribution graph, current on every push.
Owned projects now live where the development experience is better, GitLab, while GitHub remains the public face and the record of activity. Each GitLab project pushes to a GitHub repository of the identical name over SSH, using a key pair GitLab generates and holds; the public half is a write deploy key on the GitHub side, and GitHub’s published host keys are pinned so the mirror cannot be redirected. No token was created or typed anywhere. Team projects owned by other organizations stay on GitHub untouched. Setting this up surfaced two upstream quirks worth recording: GitLab’s API creates mirrors but silently ignores host keys, and group access tokens require a paid tier while deploy tokens do not.
Evidence
3 artifacts
- URL
- Measurement
- URL https://github.com/TerrellUX/soren mirror target; branches match the GitLab heads commit for commit
- URL https://gitlab.com/terrell-technology-workspace the canonical group for owned projects
- Measurement 4 mirrors, update_status finished, 3 pinned host keys each, 0 errors