Stay organized with collections
Save and categorize content based on your preferences.
Save a notebook to GitHub
This page describes how you can save your Vertex AI Workbench instance's
notebook files to GitHub by using the jupyterlab-git extension. You might
do this to create a backup of the notebook or to make the notebook
available to others.
In Vertex AI Workbench instances, you can use the jupyterlab-git
extension to help you with version control. To learn more, see
jupyterlab-git
on GitHub.
Create a GitHub repository
If you don't already have
a GitHub repository,
you must create one.
When you create your GitHub repository make sure that your GitHub repository
can be cloned by selecting the Initialize this repository with a README
checkbox.
Clone your GitHub repository in your Vertex AI Workbench instance
To clone your GitHub repository in your Vertex AI Workbench instance,
complete the following steps:
In your GitHub repository, click the Code button,
and then click the Local tab.
Copy the HTTPS URL.
In the Google Cloud console, go to the Instances page.
Click Open JupyterLab to open
your Vertex AI Workbench instance.
In the JupyterLab
folderFile Browser, select
the folder where you want to clone the GitHub repository. For example,
the home folder.
In JupyterLab, select
Git > Clone a Repository.
In the Clone a repo dialog, paste the HTTPS URL for
your GitHub repository.
If prompted, enter your credentials.
If you use a GitHub username and password, enter your
GitHub username and password.
If you use two-factor authentication with GitHub,
create and use a personal access
token.
Click Clone.
Your Vertex AI Workbench instance shows your repository
as a new folder. If you don't see your cloned GitHub repository
as a folder, click the Refresh File List button.
Configure your instance with your GitHub user information
In JupyterLab, open the folder where your repository is located.
Select Git > Open Git Repository in Terminal
to open a Git terminal window.
In the Git terminal window, enter the following commands to configure
your Git username and email:
Select the Git tab. Your new notebook is listed in the Untracked
grouping.
To add the new notebook as a file for your GitHub repository, right-click
the new notebook and select Track. On the Git tab, your notebook
is now added to the Staged grouping.
To commit your new notebook to your GitHub repository, on the Git tab,
in the Summary field, add a commit comment, and then click Commit.
Select Git > Push to Remote.
If you use a GitHub username and password, when prompted, enter your
GitHub username and password.
If you use two-factor authentication with GitHub, enter your
GitHub username and personal access token.
After the git push command completes, your committed files are in
your GitHub repository.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[],[],null,["# Save a notebook to GitHub\n=========================\n\nThis page describes how you can save your Vertex AI Workbench instance's\nnotebook files to GitHub by using the `jupyterlab-git` extension. You might\ndo this to create a backup of the notebook or to make the notebook\navailable to others.\n\nIn Vertex AI Workbench instances, you can use the `jupyterlab-git`\nextension to help you with version control. To learn more, see\n[`jupyterlab-git`](https://github.com/jupyterlab/jupyterlab-git/blob/main/README.md)\non GitHub.\n\nCreate a GitHub repository\n--------------------------\n\nIf you don't already have\na [GitHub](https://github.com/) repository,\nyou must create one.\n\nWhen you create your GitHub repository make sure that your GitHub repository\ncan be cloned by selecting the **Initialize this repository with a README**\ncheckbox.\n\nClone your GitHub repository in your Vertex AI Workbench instance\n-----------------------------------------------------------------\n\nTo clone your GitHub repository in your Vertex AI Workbench instance,\ncomplete the following steps:\n\n1. In your GitHub repository, click the **Code** button,\n and then click the **Local** tab.\n\n2. Copy the **HTTPS** URL.\n\n3. In the Google Cloud console, go to the **Instances** page.\n\n [Go to Instances](https://console.cloud.google.com/vertex-ai/workbench/instances)\n4. Click **Open JupyterLab** to open\n your Vertex AI Workbench instance.\n\n5. In the JupyterLab\n folder **File Browser**, select\n the folder where you want to clone the GitHub repository. For example,\n the home folder.\n\n6. In JupyterLab, select\n **Git \\\u003e Clone a Repository**.\n\n7. In the **Clone a repo** dialog, paste the HTTPS URL for\n your GitHub repository.\n\n8. If prompted, enter your credentials.\n\n - If you use a GitHub username and password, enter your\n GitHub username and password.\n\n - If you use two-factor authentication with GitHub,\n create and use a [personal access\n token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line).\n\n9. Click **Clone**.\n\n10. Your Vertex AI Workbench instance shows your repository\n as a new folder. If you don't see your cloned GitHub repository\n as a folder, click the **Refresh File List** button.\n\nConfigure your instance with your GitHub user information\n---------------------------------------------------------\n\n1. In JupyterLab, open the folder where your repository is located.\n\n2. Select **Git \\\u003e Open Git Repository in Terminal**\n to open a Git terminal window.\n\n3. In the Git terminal window, enter the following commands to configure\n your Git username and email:\n\n ```scdoc\n git config --global user.name \"USERNAME\"\n git config --global user.email \"EMAIL_ADDRESS\"\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e: your GitHub username\n - \u003cvar translate=\"no\"\u003eEMAIL_ADDRESS\u003c/var\u003e: your GitHub account email address\n4. If your GitHub account requires SSH authentication, complete\n the following steps to connect your account:\n\n 1. From your Git terminal in your Vertex AI Workbench\n instance, follow GitHub's [instructions for generating a new\n SSH key](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent).\n\n 2. Follow the [instructions for adding that SSH key to your GitHub\n account](https://help.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account).\n\n5. Close the Git terminal window.\n\nAdd your committed files to your GitHub repository\n--------------------------------------------------\n\n1. In JupyterLab, open the folder where your repository is located.\n\n2. [Add a new notebook](/vertex-ai/docs/workbench/instances/create-console-quickstart#open-a-new-notebook-file).\n\n3. Select the **Git** tab. Your new notebook is listed in the **Untracked**\n grouping.\n\n4. To add the new notebook as a file for your GitHub repository, right-click\n the new notebook and select **Track** . On the **Git** tab, your notebook\n is now added to the **Staged** grouping.\n\n5. To commit your new notebook to your GitHub repository, on the **Git** tab,\n in the **Summary** field, add a commit comment, and then click **Commit**.\n\n6. Select **Git \\\u003e Push to Remote**.\n\n - If you use a GitHub username and password, when prompted, enter your\n GitHub username and password.\n\n - If you use two-factor authentication with GitHub, enter your\n GitHub username and personal access token.\n\n After the `git push` command completes, your committed files are in\n your GitHub repository.\n\nWhat's next\n-----------\n\n- [Use Cloud Storage to back up and restore\n files](/vertex-ai/docs/workbench/instances/restore-cloud-storage)\n\n- [Use a snapshot to back up and restore\n data](/vertex-ai/docs/workbench/instances/restore-snapshot)"]]