Deepnote allows you to import both public and private repositories from Github. If you want to use a public repository and you do not want to push to it, just open your terminal and use
git clone <url> and a https link to clone it to your project. If you want to be able to push to it, too, you can link it.
If you want to include a private repository or a public one that you want to push to, you can link it. This allows you and all your collaborators on the project to push and pull to the repository from the terminal without any additional authentication.
To link a repository to your project, open the integrations tab on the left and paste a link to the repository. If this is the first time you are linking a repository, you will also need to install our Github Application (see below).
Deepnote is integrated with GitHub via GitHub App. You therefore first need to install the Deepnote GitHub app to your organization first. This is only done once per your GitHub organization. Click the
Add the application link to install the Deepnote GitHub app.
GitHub allows you to select which repositories should be accessible to Deepnote.
After the repo is linked, you can
push by opening a terminal, switching to the repo directory with
cd, and then running the
git commands you need.
How is it done?
Under the hood, we use short lived access tokens to authenticate the
git commands. To be able to use this approach, we access the repository via
https protocol, rather than over
ssh . The token is only valid for 10 minutes and it only authorized to access git repository linked to the given project. We use Custom Git Credential Helper to pass the token to the
In case you no longer want to let Deepnote have access to some repositories, you can either revoke the access to some repositories or uninstall the Deepnote GitHub application completely in your organization settings at https://github.com/organizations/<your-organization>/settings/installations
We also check if the person who linked given GitHub repository to Deepnote project still has access to the GitHub repository. This means that if somebody leaves your organization or no longer has access to the repository, they will lose access to the GitHub repository from Deepnote project as well.