> ## Documentation Index
> Fetch the complete documentation index at: https://ona.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

<Note>
  The following doc describes SCM authentication as is applicable to Gitpod
  Classic Pay-As-You-Go (`gitpod.io`). For Enterprise users, please refer to
  the [Enterprise SCM documentation](/classic/admin/scm-integrations/overview).
</Note>

Gitpod comes with integrations for [GitLab](/classic/payg/authentication/gitlab), [GitHub](/classic/payg/authentication/github), and [Bitbucket](/classic/payg/authentication/bitbucket) projects. It also provides a [browser extension](/classic/user/configure/user-settings/browser-extension) or a [browser bookmarklet](/classic/user/configure/user-settings/browser-bookmarklet) for Chromium-based browsers (Chrome, Edge, Brave) and Firefox.

<iframe width="560" height="315" src="https://www.youtube.com/embed/qfIQJflDnco" title="Git Integrations on Gitpod" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen className="rounded-xl" />

## FAQs

### "Email address already used in another account" when trying to login into Gitpod

Send us a message through the [contact form](https://www.gitpod.io/contact/support) with your Gitpod account email. After you reach out, we will delete your account so that you can sign up again, which should resolve your issue.

### How to get SCM API token from Gitpod's GitLab, GitHub or Bitbucket integration as an environment variable

Run `gp init` on your terminal or manually create a file called `.gitpod.yml`

1. Put the following line in your `.gitpod.yml`:

```yml theme={null}
image:
    file: .gitpod.Dockerfile
```

2. Create a file called `.gitpod.Dockerfile` and put the following content in it:

```dockerfile theme={null}
FROM gitpod/workspace-full

RUN file="$HOME/.bashrc.d/770-scm_token.sh" \
    && printf '%s\n' 'if [[ "${GITPOD_WORKSPACE_CONTEXT_URL:-}" == *gitlab* ]]; then : "gitlab"; else : "github"; fi; scm_name="$_"' > "${file}" \
    && printf 'export SCM_TOKEN="$(%s)"\n' "gp credential-helper get <<<host=\${scm_name}.com | sed -n 's/^password=//p'" >> "${file}"
```

3. [Validate your configuration changes](/classic/user/configure/workspaces#validate-your-gitpod-configuration) by running `gp validate` in your workspace.
4. [Apply your .gitpod.yml changes](/classic/user/configure/workspaces#apply-configuration-changes) by committing and restarting a new workspace.

Now you can use `$SCM_TOKEN` environment variable after you commit and create a new workspace, this variable will contain an API token based on the Git context (i.e. Gitlab/GitHub/Bitbucket)

### How to use a private GitHub email or custom email for Git commits

At the [variables](https://gitpod.io/user/variables) page, create two variables\[[1](https://gitpod.io/user/account)] called:

* `GIT_COMMITTER_EMAIL`
* `GIT_AUTHOR_EMAIL`

and set the custom email address as the value and `*/*` as the scope.

Now all of your new workspaces should use them for Git commits. If you have a workspace running, you can restart it or run `eval "$(gp env -e)"` in it.
