knowledgebase

Migrate from GitHub to Sturdy

Learn how to migrate from GitHub to Sturdy without any downtime, or losing any work.

We know — migrating from one Version Control System to another without any team "downtime" sounds like a nightmare.

This is why we've built a migration path where you and your team slowly can migrate from GitHub to Sturdy without losing any existing work, or risking breaking your CI/CD pipeline.

Connect GitHub to Sturdy

A migration has three phases, that start with respecting GitHub as it's current source of truth.

GitHub as the source of truth

When connecting a GitHub repository to Sturdy the first time, nothing changes on your GitHub repository. You can use Sturdy and GitHub side-by-side for as long as you need to, and you don't have to switch to using Sturdy as the source of truth until you and your team are ready.

A Pull Request created by Sturdy
Creating GitHub Pull Requests from Sturdy
  • Sturdy syncs new commits when they are pushed to the default GitHub branch
  • Use Sturdy workspaces, with live feedback and suggestions
  • When a workspace is ready to be shared, Sturdy opens a Pull Request towards your repo. Where you can use your existing code review and CI/CD tools.
  • When the Pull Request is merged on GitHub, it will be synced back to Sturdy again

Sturdy as the source of truth

To enable the full workflow on Sturdy, you have to make Sturdy the source of truth. In this mode you're sharing changes between each other only using Sturdy, and don't have to work with GitHub Pull Requests anymore!

  • Changes are shared directly on Sturdy
  • Use Sturdy workspaces, with live feedback and suggestions
  • After a change has been shared on Sturdy, a copy can be pushed to your GitHub repository, as a backup, or to trigger your release pipelines.
  • Branches and commits merged on GitHub without Sturdy will not be synced to Sturdy.

Disconnect from GitHub

Last but not least, when you don't need GitHub anymore, disconnect the Codebase from GitHub. Congrats, you're now fully migrated to Sturdy!

Permissions required by the Sturdy GitHub-app

Notifications
ContentsRead & write

Sturdy pulls and pushes code to allow you use Sturdy and GitHub at the same time. Code is pushed to branches prefixed with sturdy-pr-, and optionally to the default branch.

MetadataRead-only

Sturdy uses the name of the repository, and connects all collaborators with their Sturdy account.

Pull requestsRead & write

Sturdy creates Pull Requests from Workspaces when GitHub is the source of truth of a codebase.

WorkflowsRead & write

Allows you to edit files under .github/workflows via Sturdy.

Any questions or problems?

If anything goes wrong, or you have any questions about migrating from GitHub to Sturdy. Please email us at support@getsturdy.com.