blob: a900ed11f56ea8a4a1750f545befa87ab5e5c32d [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Using Git credentials :: Eclipse Che Documentation</title>
<link rel="canonical" href="https://www.eclipse.org/che/docs/stable/end-user-guide/using-git-credentials/">
<meta name="description" content="Using Git credentials">
<meta name="keywords" content="Git, credentials, Git-credentials">
<meta name="generator" content="Antora 3.0.2">
<link rel="stylesheet" href="../../../../docs/_/css/site.css">
<link rel="stylesheet" href="../../../../docs/_/css/extra.css">
<link rel="stylesheet" href="../../../../docs/_/font-awesome-4.7.0/css/font-awesome.min.css">
<link rel="icon" href="../../../../docs/_/img/favicon.ico" type="image/x-icon">
<script>var uiRootPath = '../../../../docs/_'</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-37306001-2"></script>
<script>function gtag(){dataLayer.push(arguments)};window.dataLayer=window.dataLayer||[];gtag('js',new Date());gtag('config','UA-37306001-2')</script>
<script>var uiRootPath = '../../../../docs/_'</script>
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<div class="navbar-item">
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
<img src="../../../../docs/_/img/icon-eclipse-che.svg" class="navbar-logo" alt="Eclipse Che logo">
<a href="https://www.eclipse.org/che/docs/index.html">Eclipse Che Documentation</a>
</div>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<div class="navbar-item search hide-for-print">
<div id="search-field" class="field">
<input id="search-input" type="text" placeholder="Search the docs">
</div>
</div>
<a class="navbar-item" href="https://www.eclipse.org/che/">Home</a>
<a class="navbar-item" href="https://che.eclipseprojects.io/">Blog</a>
<a class="navbar-item" href="https://github.com/eclipse/che">Source Code</a>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="docs" data-version="stable">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="../../overview/introduction-to-eclipse-che/">Documentation</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../../overview/introduction-to-eclipse-che/">Introduction to Che</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../hosted-che/hosted-che/">Eclipse Che hosted by Red Hat</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../hosted-che/try-in-web-ide-github-action/">Try in Web IDE GitHub action</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-depth="0">
<button class="nav-item-toggle"></button>
<span class="nav-text">User Guide</span>
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../adopting-che/">Adopting Che</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../developer-workspaces/">Developer workspaces</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../first-time-contributors/">Badge for first-time contributors</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../benefits-of-pull-requests-review-in-che/">Reviewing pull and merge requests</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../supported-languages/">Supported languages</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../user-onboarding/">User onboarding</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../starting-a-new-workspace-with-a-clone-of-a-git-repository/">Starting a new workspace with a clone of a Git repository</a>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../optional-parameters-for-the-urls-for-starting-a-new-workspace/">Optional parameters for the URLs for starting a new workspace</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../url-parameter-concatenation/">URL parameter concatenation</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../url-parameter-for-the-workspace-ide/">URL parameter for the workspace IDE</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../url-parameter-for-starting-duplicate-workspaces/">URL parameter for starting duplicate workspaces</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../url-parameter-for-the-devfile-file-name/">URL parameter for the devfile file name</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../url-parameter-for-the-devfile-file-path/">URL parameter for the devfile file path</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../basic-actions-you-can-perform-on-a-workspace/">Basic actions you can perform on a workspace</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../authenticating-to-a-git-server-from-a-workspace/">Authenticating to a Git server from a workspace</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../customizing-workspace-components/">Customizing workspace components</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../selecting-a-workspace-ide/">Selecting a workspace IDE</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../selecting-an-ide-by-using-a-url-parameter/">Selecting an in-browser IDE for a new workspace by using a URL parameter</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../specifying-an-in-browser-ide-for-a-git-repository-by-using-che-editor.yaml/">Specifying an in-browser IDE for a Git repository by using <code>che-editor.yaml</code></a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../using-credentials-and-configurations-in-workspaces/">Using credentials and configurations in workspaces</a>
<ul class="nav-list">
<li class="nav-item is-current-page" data-depth="2">
<a class="nav-link" href="./">Using Git credentials</a>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../enabling-artifact-repositories-in-a-restricted-environment/">Enabling artifact repositories in a restricted environment</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../enabling-maven-artifact-repositories/">Maven</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../enabling-gradle-artifact-repositories/">Gradle</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../enabling-npm-artifact-repositories/">npm</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../enabling-python-artifact-repositories/">Python</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../enabling-go-artifact-repositories/">Go</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../enabling-nuget-artifact-repositories/">NuGet</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../creating-image-pull-secrets/">Creating image pull Secrets</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../mounting-secrets/">Mounting Secrets</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../mounting-configmaps/">Mounting ConfigMaps</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../requesting-persistent-storage-for-workspaces/">Requesting persistent storage for workspaces</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../integrating-with-kubernetes/">Integrating with Kubernetes</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../automatic-token-injection/">Automatic Kubernetes token injection</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../navigating-che-from-openshift-developer-perspective/">Navigating Che from OpenShift Developer Perspective</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../navigating-openshift-web-console-from-che/">Navigating OpenShift web console from Che</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../troubleshooting-che/">Troubleshooting Che</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../viewing-che-workspaces-logs/">Viewing Che workspaces logs</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../investigating-failures-at-a-workspace-start-using-the-verbose-mode/">Troubleshooting workspace start failures</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../troubleshooting-slow-workspaces/">Troubleshooting slow workspaces</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../troubleshooting-network-problems/">Troubleshooting network problems</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../adding-a-vscode-extension/">Adding a Visual Studio Code extension to a workspace</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="0">
<button class="nav-item-toggle"></button>
<span class="nav-text">Administration Guide</span>
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/preparing-the-installation/">Preparing the installation</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/supported-platforms/">Supported platforms</a>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/architecture-overview/">Architecture</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/server-components/">Server components</a>
<ul class="nav-list">
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/che-operator/">Che operator</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/devworkspace-operator/">Dev Workspace operator</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/gateway/">Gateway</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/dashboard/">User dashboard</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/devfile-registries/">Devfile registries</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/che-server/">Che server</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/postgresql/">PostgreSQL</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/plug-in-registry/">Plug-in registry</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/user-workspaces/">User workspaces</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/calculating-che-resource-requirements/">Calculating Che resource requirements</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/installing-che/">Installing Che</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/installing-the-chectl-management-tool/">Installing the chectl management tool</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/installing-che-on-openshift-using-cli/">Installing Che on OpenShift using CLI</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/installing-che-on-openshift-using-the-web-console/">Installing Che on OpenShift using the web console</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/installing-che-in-a-restricted-environment/">Installing Che in a restricted environment</a>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/installing-che-locally/">Installing Che locally</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/installing-che-on-red-hat-openshift-local/">Installing Che on Red Hat OpenShift Local</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/installing-che-on-minikube/">Installing Che on Minikube</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/configuring-che/">Configuring Che</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/understanding-the-checluster-custom-resource/">Understanding the <code>CheCluster</code> Custom Resource</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/using-chectl-to-configure-the-checluster-custom-resource-during-installation/">Using chectl to configure the <code>CheCluster</code> Custom Resource during installation</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/using-the-cli-to-configure-the-checluster-custom-resource/">Using the CLI to configure the CheCluster Custom Resource</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/checluster-custom-resource-fields-reference/"><code>CheCluster</code> Custom Resource fields reference</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/configuring-namespace-provisioning/">Configuring namespaces</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/configuring-workspace-target-namespace/">Configuring namespace name</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/provisioning-namespaces-in-advance/">Provisioning namespaces in advance</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/configuring-server-components/">Configuring server components</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/mounting-a-secret-as-a-file-or-an-environment-variable-into-a-container/">Mounting a Secret or a ConfigMap as a file or an environment variable into a Eclipse&#160;Che container</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/advanced-configuration-options-for-the-che-server-component/">Advanced configuration options for Che server</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/configuring-workspaces-globally/">Configuring workspaces globally</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/configuring-the-number-of-workspaces-that-a-user-can-create/">Configuring the number of workspaces that a user can create</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/deploying-che-with-support-for-git-repositories-with-self-signed-certificates/">Git with self-signed certificates</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/configuring-workspaces-nodeselector/">Configuring workspaces nodeSelector</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/caching-images-for-faster-workspace-start/">Caching images for faster workspace start</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/defining-the-list-of-images-to-pull/">Defining the list of images</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/defining-the-memory-parameters-for-the-image-puller/">Defining the memory settings</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/installing-image-puller-on-openshift-using-the-web-console/">Installing Image Puller on OpenShift using the web console</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/installing-image-puller-on-openshift-using-cli/">Installing Image Puller on OpenShift using CLI</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/configuring-observability/">Configuring observability</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/che-theia-workspaces/">Che-Theia workspaces</a>
<ul class="nav-list">
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/the-woopra-telemetry-plugin/">The Woopra telemetry plug-in</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/creating-a-telemetry-plugin/">Creating a telemetry plug-in</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/configuring-server-logging/">Configuring server logging</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/collecting-logs-using-chectl/">Collecting logs using chectl</a>
</li>
<li class="nav-item" data-depth="3">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/monitoring-with-prometheus-and-grafana/">Monitoring with Prometheus and Grafana</a>
<ul class="nav-list">
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/installing-prometheus-and-grafana/">Installing Prometheus and Grafana</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/monitoring-the-dev-workspace-operator/">Monitoring the Dev Workspace Operator</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/monitoring-che/">Monitoring Che Server</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/configuring-networking/">Configuring networking</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/configuring-che-hostname/">Configuring Che hostname</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/importing-untrusted-tls-certificates/">Importing untrusted TLS certificates to Che</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/configuring-ingresses/">Configuring Kubernetes Ingress</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/configuring-routes/">Configuring OpenShift Route</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/configuring-storage/">Configuring storage</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/installing-che-using-storage-classes/">Installing Che using storage classes</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/branding/">Branding</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/branding-che-theia/">Branding Che-Theia</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/managing-identities-and-authorizations/">Managing identities and authorizations</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/oauth-for-github-gitlab-or-bitbucket/">OAuth for GitHub, GitLab, or Bitbucket</a>
<ul class="nav-list">
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/configuring-oauth-2-for-github/">Configuring OAuth 2.0 for GitHub</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/configuring-oauth-2-for-gitlab/">Configuring OAuth 2.0 for GitLab</a>
</li>
<li class="nav-item" data-depth="4">
<a class="nav-link" href="../../administration-guide/configuring-oauth-1-for-bitbucket/">Configuring OAuth 1.0 for Bitbucket</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/configuring-the-administrative-user/">Configuring the administrative user</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../administration-guide/removing-user-data/">Removing user data</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../../administration-guide/managing-workloads-using-the-che-server-api/">Using the Che server API</a>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../administration-guide/upgrading-che/">Upgrading Che</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/upgrading-the-chectl-management-tool/">Upgrading the chectl management tool</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/upgrading-che-7-41-on-openshift/">Upgrading Che 7.41 on Red Hat OpenShift</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/specifying-the-update-approval-strategy/">Specifying the update approval strategy</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/upgrading-che-using-the-web-console/">Upgrading Che using the OpenShift web console</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/upgrading-che-using-the-cli-management-tool/">Upgrading Che using the CLI management tool</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../administration-guide/upgrading-che-using-the-cli-management-tool-in-restricted-environment/">Upgrading Che in a restricted environment</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../../administration-guide/uninstalling-che/">Uninstalling Che</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../extensions/extensions/">Extensions</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../extensions/openshift-connector-overview/">OpenShift Connector</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../extensions/features-of-openshift-connector/">Features of OpenShift Connector</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../extensions/installing-openshift-connector-in-che/">Installing OpenShift Connector in Eclipse Che</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../extensions/authenticating-with-openshift-connector-from-che/">Authenticating with OpenShift Connector from Eclipse Che</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../extensions/creating-components-with-openshift-connector-in-che/">Creating Components with OpenShift Connector in Eclipse Che</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../extensions/connecting-source-code-from-github-to-a-openshift-component-using-openshift-connector/">Connecting source code from GitHub to a OpenShift Component</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../../glossary/che-glossary/">Che glossary</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">Documentation</span>
<span class="version">stable</span>
</div>
<ul class="components">
<li class="component is-current">
<a class="title" href="../../overview/introduction-to-eclipse-che/">Documentation</a>
<ul class="versions">
<li class="version">
<a href="../../../next/overview/introduction-to-eclipse-che/">next</a>
</li>
<li class="version">
<a href="../../../che-7/overview/introduction-to-eclipse-che/">old (7.41)</a>
</li>
<li class="version is-current is-latest">
<a href="../../overview/introduction-to-eclipse-che/">stable</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../overview/introduction-to-eclipse-che/" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="../../overview/introduction-to-eclipse-che/">Documentation</a></li>
<li>User Guide</li>
<li><a href="../using-credentials-and-configurations-in-workspaces/">Using credentials and configurations in workspaces</a></li>
<li><a href="./">Using Git credentials</a></li>
</ul>
</nav>
<div class="page-versions">
<button class="version-menu-toggle" title="Show other versions of page">stable</button>
<div class="version-menu">
<a class="version" href="../../../next/end-user-guide/using-git-credentials/">next</a>
<a class="version is-missing" href="../../../che-7/overview/introduction-to-eclipse-che/">old (7.41)</a>
<a class="version is-current" href="./">stable</a>
</div>
</div>
<div class="edit-this-page"><a href="https://github.com/eclipse/che-docs/edit/7.50.x/modules/end-user-guide/pages/using-git-credentials.adoc">Edit this Page</a></div>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
<article class="doc">
<h1 class="page">Using Git credentials</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>As an alternative to the <a href="../../administration-guide/oauth-for-github-gitlab-or-bitbucket/" class="xref page">OAuth for GitHub, GitLab, or Bitbucket</a> that is configured by the administrator of your organization&#8217;s Che instance, you can apply your Git credentials, a credentials store and access token, as Kubernetes Secrets.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="using-a-git-credentials-store_che"><a class="anchor" href="#using-a-git-credentials-store_che"></a>Using a Git credentials store</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If the administrator of your organization&#8217;s Che instance has not configured <a href="../../administration-guide/oauth-for-github-gitlab-or-bitbucket/" class="xref page">OAuth for GitHub, GitLab, or Bitbucket</a>, you can apply your Git credentials store as a Kubernetes Secret.</p>
</div>
<div class="paragraph">
<p>Mounting your Git credentials store as a Secret results in the Dev Workspace Operator applying your Git credentials to the <code>.gitconfig</code> file in the workspace container.</p>
</div>
<div class="paragraph">
<p>Apply the Kubernetes Secret in your user namespace of the Kubernetes cluster of your organization&#8217;s Che instance.</p>
</div>
<div class="paragraph">
<p>When you apply the Secret, a Git configuration file with the path to the mounted Git credentials store is automatically configured and mounted to the <code>Dev Workspace</code> containers in the cluster at <code>/etc/gitconfig</code>. This makes your Git credentials store available in your workspaces.</p>
</div>
<div class="ulist">
<div class="title">Prerequisites</div>
<ul>
<li>
<p>An active <code>kubectl</code> session, with administrative permissions, to the Kubernetes cluster. See <a href="https://kubernetes.io/docs/reference/kubectl/overview/">Overview of kubectl</a>.</p>
</li>
<li>
<p>The <a href="https://www.gnu.org/software/coreutils/base64"><code>base64</code></a> command line tools are installed in the operating system you are using.</p>
</li>
</ul>
</div>
<div class="olist arabic">
<div class="title">Procedure</div>
<ol class="arabic">
<li>
<p>In your home directory, locate and open your <code>.git-credentials</code> file if you already have it. Alternatively, if you do not have this file, save a new <code>.git-credentials</code> file, using the <a href="https://git-scm.com/docs/git-credential-store#_storage_format">Git credentials storage format</a>. Each credential is stored on its own line in the file:</p>
<div class="listingblock">
<div class="content">
<pre>https://<em>&lt;username&gt;</em>:<em>&lt;token&gt;</em>@<em>&lt;git_server_hostname&gt;</em></pre>
</div>
</div>
<div class="exampleblock">
<div class="title">Example 1. A line in a <code>.git-credentials</code> file</div>
<div class="content">
<div class="listingblock">
<div class="content">
<pre>https://trailblazer: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@github.com</pre>
</div>
</div>
</div>
</div>
</li>
<li>
<p>Select credentials from your <code>.git-credentials</code> file for the Secret. Encode the selected credentials to Base64 for the next step.</p>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<div class="ulist">
<ul>
<li>
<p>To encode all lines in the file:</p>
<div class="paragraph">
<p><code>$ cat .git-credentials | base64 | tr -d '\n'</code></p>
</div>
</li>
<li>
<p>To encode a selected line:</p>
<div class="paragraph">
<p><code>$ echo -n '<em>&lt;copied_and_pasted_line_from_.git-credentials&gt;</em>' | base64</code></p>
</div>
</li>
</ul>
</div>
</td>
</tr>
</table>
</div>
</li>
<li>
<p>Create a new Kubernetes Secret in your user namespace.</p>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-yaml hljs" data-lang="yaml">apiVersion: v1
kind: Secret
metadata:
name: git-credentials-secret
labels:
controller.devfile.io/git-credential: 'true' <i class="conum" data-value="1"></i><b>(1)</b>
controller.devfile.io/watch-secret: 'true'
annotations:
controller.devfile.io/mount-path: /etc/secret <i class="conum" data-value="2"></i><b>(2)</b>
data:
credentials: <em>&lt;Base64_content_of_.git-credentials&gt;</em> <i class="conum" data-value="3"></i><b>(3)</b></code></pre>
</div>
</div>
<div class="colist arabic">
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td>The <code>controller.devfile.io/git-credential</code> label marks the Secret as containing Git credentials.</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td>A custom absolute path in the <code>Dev Workspace</code> containers. The Secret is mounted as the <code>credentials</code> file at this path. The default path is <code>/</code>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td>The selected content from <code>.git-credentials</code> that you encoded to Base64 in the previous step.</td>
</tr>
</table>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<div class="paragraph">
<p>You can create and apply multiple Git credentials Secrets in your user namespace. All of them will be copied into one Secret that will be mounted to the <code>Dev Workspace</code> containers. For example, if you set the mount path to <code>/etc/secret</code>, then the one Secret with all of your Git credentials will be mounted at <code>/etc/secret/credentials</code>. You must set all Git credentials Secrets in your user namespace to the same mount path. You can set the mount path to an arbitrary path because the mount path will be automatically set in the Git configuration file configured at <code>/etc/gitconfig</code>.</p>
</div>
</td>
</tr>
</table>
</div>
</li>
<li>
<p>Apply the Secret.</p>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-terminal hljs" data-lang="terminal">$ kubectl apply -f - &lt;&lt;EOF
<em>&lt;Secret_prepared_in_the_previous_step&gt;</em>
EOF</code></pre>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
<div class="sect1">
<h2 id="using-a-git-provider-access-token_che"><a class="anchor" href="#using-a-git-provider-access-token_che"></a>Using a Git provider access token</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If the administrator of your organization&#8217;s Che instance has not configured <a href="../../administration-guide/oauth-for-github-gitlab-or-bitbucket/" class="xref page">OAuth for GitHub, GitLab, or Bitbucket</a>, you can apply your personal access token as a Kubernetes Secret.</p>
</div>
<div class="paragraph">
<p>Mounting your access token as a Secret enables the Che Server to access the remote repository that is cloned during workspace creation, including access to the repository&#8217;s <code>/.che</code> and <code>/.vscode</code> folders.</p>
</div>
<div class="paragraph">
<p>Apply the Kubernetes Secret in your user namespace of the Kubernetes cluster of your organization&#8217;s Che instance.</p>
</div>
<div class="paragraph">
<p>After you have applied the Secret, you can create new workspaces from a private GitHub, GitLab, or Bitbucket-server repository.</p>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
In your user namespace, you can create and apply multiple access-token Secrets per a Git provider.
</td>
</tr>
</table>
</div>
<div class="ulist">
<div class="title">Prerequisites</div>
<ul>
<li>
<p>An active <code>kubectl</code> session, with administrative permissions, to the Kubernetes cluster. See <a href="https://kubernetes.io/docs/reference/kubectl/overview/">Overview of kubectl</a>.</p>
</li>
<li>
<p>The <a href="https://www.gnu.org/software/coreutils/base64"><code>base64</code></a> command line tools are installed in the operating system you are using.</p>
</li>
</ul>
</div>
<div class="olist arabic">
<div class="title">Procedure</div>
<ol class="arabic">
<li>
<p>Copy your access token and encode it to Base64.</p>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-terminal hljs" data-lang="terminal">$ echo -n '<em>&lt;your_access_token&gt;</em>' | base64</code></pre>
</div>
</div>
</li>
<li>
<p>Prepare a new Kubernetes Secret in your user namespace.</p>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-yaml hljs" data-lang="yaml">kind: Secret
apiVersion: v1
metadata:
name: personal-access-token-<em>&lt;your_chosen_name_for_this_token&gt;</em>
labels:
app.kubernetes.io/component: scm-personal-access-token
app.kubernetes.io/part-of: che.eclipse.org
annotations:
che.eclipse.org/che-userid: <em>&lt;che_user_ID&gt;</em> <i class="conum" data-value="1"></i><b>(1)</b>
che.eclipse.org/scm-personal-access-token-name: <em>&lt;git_provider_name&gt;</em> <i class="conum" data-value="2"></i><b>(2)</b>
che.eclipse.org/scm-url: <em>&lt;Git_provider_endpoint&gt;</em> <i class="conum" data-value="3"></i><b>(3)</b>
che.eclipse.org/scm-userid: <em>&lt;Git_provider_user_ID&gt;</em> <i class="conum" data-value="4"></i><b>(4)</b>
che.eclipse.org/scm-username: <em>&lt;Git_provider_username&gt;</em>
data:
token: <em>&lt;Base64_encoded_access_token&gt;</em>
type: Opaque</code></pre>
</div>
</div>
<div class="colist arabic">
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td>Your Che user ID. You can retrieve <code><em>&lt;che-endpoint&gt;</em>/api/user</code> to get the Che user data.</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td>The Git provider name: <code>github</code> or <code>gitlab</code> or <code>bitbucket-server</code>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td>The Git provider URL.</td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
<td>Your Git provider user ID, follow the API documentation to retrieve the user object:
<div class="ulist">
<ul>
<li>
<p>GitHub: <a href="https://docs.github.com/en/rest/users/users#get-a-user">Get a user</a>. See the <code>id</code> value in the response.</p>
</li>
<li>
<p>GitLab: <a href="https://docs.gitlab.com/ee/api/users.html#for-normal-users">List users: For normal users</a>, use the <code>username</code> filter: <code>/users?username=:username</code>. See the <code>id</code> value in the response.</p>
</li>
<li>
<p>Bitbucket Server: <a href="https://developer.atlassian.com/server/bitbucket/rest/v802/api-group-users/#api-users-userslug-get">Get users</a>. See the <code>account_id</code> value in the response.</p>
</li>
</ul>
</div></td>
</tr>
</table>
</div>
</li>
<li>
<p>Apply the Secret.</p>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-terminal hljs" data-lang="terminal">$ kubectl apply -f - &lt;&lt;EOF
<em>&lt;Secret_prepared_in_the_previous_step&gt;</em>
EOF</code></pre>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
</article>
</div>
</main>
</div>
<footer class="footer">
<div>
<a href="https://www.eclipse.org/che/sitemap.xml" target="_blank">Site Map</a> |
<a href="https://www.eclipse.org" target="_blank">Eclipse Foundation</a> |
<a href="https://www.eclipse.org/legal/privacy.php" target="_blank">Privacy Policy</a> |
<a href="https://www.eclipse.org/legal/termsofuse.php" target="_blank">Terms of Use</a> |
<a href="https://www.eclipse.org/legal/epl-2.0/" target="_blank">Eclipse Public License</a> |
<a href="https://www.eclipse.org/legal" target="_blank">Legal Resources</a></div>
</footer>
<script src="../../../../docs/_/js/site.js"></script>
<script async src="../../../../docs/_/js/vendor/highlight.js"></script>
<script src="../../../../docs/_/js/vendor/lunr.js"></script>
<script src="../../../../docs/_/js/search-ui.js" id="search-ui-script" data-site-root-path="../../../.." data-snippet-length="142" data-stylesheet="../../../../docs/_/css/search.css"></script>
<script async src="../../../../search-index.js"></script>
</body>
</html>