Connecting GitHub
Before linking projects, you need to connect your GitHub account to Workshop.Open Hub Connectors
Navigate to Hub and select the Connectors tab (or go directly to
/hub?tab=connectors).Install the GitHub App
Click Connect on the GitHub connector. This starts a GitHub App OAuth flow where you authorize Workshop to access your repositories.During installation, you choose which repositories Workshop can access — either all repositories or selected repositories in your account or organization.
If you belong to multiple GitHub organizations, you can install the GitHub App on each one. Use the installation selector in the Connectors panel to switch between them.
Linking a Project to a Repository
Once GitHub is connected, you can link any Workshop Cloud project to a GitHub repository.- Open your project and navigate to the GitHub section in the project settings
- Click Link GitHub Repository
- In the modal that appears, search for or select the repository you want to link
- Choose the branch (defaults to the repository’s default branch)
- Confirm the link
Push and Pull Workflow
Once linked, you can sync changes between your Workshop Cloud project and GitHub:Pushing to GitHub
Click the push button (up arrow) to send your local project changes to the linked GitHub repository. This creates a commit on the linked branch with your latest changes.Pulling from GitHub
Click the pull button (down arrow) to fetch the latest changes from GitHub into your Workshop Cloud project. This is useful when collaborators push changes directly to the repository.Sync Status Indicators
The GitHub section displays a real-time sync status icon:| Status | Icon | Meaning |
|---|---|---|
| In sync | Green checkmark | Your local project matches the remote repository |
| Local ahead | Yellow up arrow | You have unpushed local changes (shows count, e.g., “3 ahead”) |
| Remote ahead | Yellow down arrow | The remote has changes you haven’t pulled yet (shows count, e.g., “2 behind”) |
| Diverged | Red warning | Both local and remote have independent changes that conflict |
Handling Diverged Histories
When the sync status shows Diverged, it means both your Workshop Cloud project and the GitHub repository have changes that the other doesn’t. You have two options:- Force push — Overwrites the remote repository with your local state. Use this when your local version is the one you want to keep. Workshop will prompt you to confirm before force pushing.
- Force pull — Overwrites your local project with the remote state. Use this when the GitHub version is the one you want to keep. Workshop will prompt you to confirm before force pulling.
Importing a Repository as a New Project
On Workshop Desktop, you can create a new project directly from an existing GitHub repository:- Click New Project from the Projects page
- Select Import from Git and paste the repository URL (HTTPS or SSH format)
- Workshop clones the repository and creates a project with the repo contents
Unlinking a Repository
To disconnect a project from its GitHub repository:- Open the GitHub section in your project
- Click the three dots menu
- Select Unlink
- Confirm the action
Refreshing Status
If you suspect the sync status is stale (for example, after someone else pushes to the repository), click the three dots menu and select Refresh to fetch the latest status from GitHub.Use Cases
Version control and history
Version control and history
Push regularly to maintain a commit history of your project’s evolution. If something breaks, you can always pull a previous state from GitHub.
Collaboration
Collaboration
Multiple people can work on the same project — one person builds in Workshop Cloud and pushes, while others pull the latest changes from GitHub and continue building.
Backup
Backup
GitHub acts as an automatic backup for your Workshop Cloud projects. Even if you delete a project in Workshop, the code remains in your GitHub repository.
CI/CD integration
CI/CD integration
Since your code lives in GitHub, you can set up GitHub Actions or other CI/CD pipelines to run tests, linting, or deploy to additional environments when changes are pushed.