# Github Integration for Notebooks

> **📝 Note**: This is a Preview feature.

GitHub integration for notebooks supports the use of Git workflows directly within the notebook environment. This integration allows you to commit notebook changes, track history, and push updates to connected GitHub repositories without switching tools.

Key features include:

* Create pull requests, add comments, view code diffs, and conduct code reviews.
* Reproduce notebook results by running and sharing exact versions of the notebook files.
* Collaborate with team members by sharing notebooks and integrating contributions.
* Connect notebook development to existing CI/CD pipelines.

## Connect a GitHub Account

1. In the [Cloud Portal](http://portal.singlestore.com), navigate to the bottom-left corner and select the organization name to open the menu. Select **User Integrations**.

2. In the **User Integrations** page, enable **GitHub**.

3. The page redirects to **GitHub**. Sign in using the GitHub credentials. If two-factor authentication (2FA) is enabled, complete the verification process to proceed.

4. Select the organization or account required to connect.
   > **📝 Note**: SingleStore recommends selecting a personal GitHub account to complete the OAuth flow and enable the integration. A GitHub organization can be connected only by an Organization Admin. If the connecting account does not have admin privileges, a connection request is sent to the organization’s GitHub admin for approval. If a GitHub organization appears as **Configured**, it indicates that the integration has already been set up by another member of the organization. In this case, the organization is automatically added to the connected GitHub accounts once the OAuth flow is completed with a personal account.

5. Select the repositories required to grant access under the selected organization or account:

   * To allow access to all repositories, select **All Repositories**.
   * To limit access, select **Only select repositories**, and then select the desired repositories.

6. Select **Install & Authorize**.

7. After authorization completes, view the connected GitHub account under **Connected User**.
   > **📝 Note**: Each user can connect only one GitHub account at a time. To connect a different account, the existing connection must be disabled first, and then a new connection can be established.

8. Navigate to the bottom-left corner and select the organization name to open the menu. Select **Organization Details > Integrations** in the Cloud Portal to view the GitHub integration and number of users. This page is accessible only to SingleStore organization owners. It can also be accessed from the info alert displayed on the **User Integrations** page visible to SingleStore organization owners only.

## Configure GitHub Integration

1. In the **User Integrations** page, under **GitHub**, select **Configure**.

2. In the **Configure GitHub Integration** dialog, under the **Actions** column of the selected GitHub account, select **Configure**. The dialog also displays any pending connection requests for GitHub organizations that require approval from the respective GitHub organization admins.

3. To install and authorize the GitHub integration for another GitHub account, select **Installation**.

## Load a Notebook from GitHub

1. Navigate to the **Editor**, and then select **New > Import** from GitHub.

2. Select the repository and branch that contains the notebook to import.

3. Select the notebook file.

4. Select the location of the notebook and then select **Import** to complete the process.

## GitHub Version Control

Once the notebook is imported, the synced GitHub connection can be viewed in the right-hand navigation. The following actions can be managed in GitHub version control:

* Fetch
* Commit & Push

## Fetch GitHub Content

To fetch the contents from Github repository, select **Fetch**. Compare the contents and select **Fetch**. Select **Confirm & Overwrite** to overwrite the current notebook version with the notebook content in GitHub repository.

## Commit and Push Notebook Changes

To commit and push the changes in the notebook to the GitHub repository, select **Commit & Push**. Compare the contents and select **Compare & Push**. In the **Push to GitHub** dialog, enter the following details:

| **Commit message**  | Enter the commit message.                                                                                                                   |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **New branch name** | Enter the branch name if the changes are not being pushed to the default branch (main) used when connecting the notebook to the repository. |

Enable **Include Notebook Cell Outputs** if required and select **Commit & Push**.

## Enable the GitHub Connection

GitHub version control can be enabled for individual notebooks that were not initially imported via GitHub integration. Perform the following steps to enable the GitHub connection:

1. Open the desired notebook.

2. Select the GitHub icon on the right upper side. Select **Enable GitHub Version Control**.

3. In the **Upload & Push to GitHub** dialog, enter the following details:
   | **Repository**      | Select the repository in which the notebook will be uploaded.                                                                               |
   | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
   | **New branch name** | Enter the branch name if the changes are not being pushed to the default branch (main) used when connecting the notebook to the repository. |
   | **Commit message**  | Enter the commit message.                                                                                                                   |

4. Enable **Include Notebook Cell Outputs** if required.

5. Enable **Overwrite existing file if it already exists at selected GitHub path** if required.

6. Select **Upload & Push** to upload the notebook in the selected GitHub repository.

To perform GitHub version control actions after uploading the notebook to the selected GitHub repository, refer to [GitHub Version Control](https://docs.singlestore.com/#section-id235248638096036.md).

## Disconnect the GitHub Connection

To disconnect the GitHub connection, select the ellipsis in the **GitHub Connection** and select **Disconnect**. The existing GitHub connection and the selected notebook is disconnected from the selected GitHub repository. This action does not delete or modify the notebook file in GitHub.

## Disable GitHub Integration

To disable GitHub integration, select **Organization Details > Integrations** in the Cloud Portal and disable GitHub in the **Availability** column. Select **Confirm and Disable** to proceed.

Only an Organization Admin can disable the GitHub integration. Even if users have the integration installed in their GitHub accounts, they cannot import notebooks into SingleStore Helios once the Organization Admin has disabled the integration.

***

Modified at: November 17, 2025

Source: [/cloud/container-services/notebooks/github-integration-for-notebooks/](https://docs.singlestore.com/cloud/container-services/notebooks/github-integration-for-notebooks/)

(An index of the documentation is available at /llms.txt)
