Version Control
Eclipse Che natively supports the VS Code SCM model. By default, Eclipse Che includes the native VS Code Git extension as a Source Code Management (SCM) provider.
Managing Git configuration: identity
The first thing to do before starting to use Git is to set a user name and email address. This is important because every Git commit uses this information.
-
To configure Git identity using the Che user interface:
-
To configure Git identity using the command line, open the terminal of the Che-Theia container.
-
Navigate to the My Workspace view, and open Plugins > theia-ide… > New terminal:
-
Execute the following commands:
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com
-
Che-Theia permanently stores this information in the current container and restores it for other containers on future workspace starts.
Accessing a Git repository using HTTPS
To clone a repository using HTTPS:
-
Use the clone command provided by the Visual Studio Code Git extension.
Alternatively, use the native Git commands in the terminal to clone a project.
-
Navigate to destination folder using the
cd
command. -
Use
git clone
to clone a repository:$ git clone <link>
Eclipse Che supports Git self-signed TLS certificates. See Deploying Che with support for Git repositories with self-signed certificates to learn more.
Accessing a Git repository using a generated SSH key pair
Generating an SSH key using the Che command palette
The following section describes a generation of an SSH key using the Che command palette and its further use in Git provider communication. This SSH key restricts permissions for the specific Git provider, therefore, the user has to create a unique SSH key for each Git provider in use.
-
A running instance of Che. To install an instance of Eclipse Che, see Installing Che.
-
An existing workspace defined on this instance of Che Creating and configuring a new Che 7.23 workspace.
-
Personal GitHub account or other Git provider account created.
A common SSH key pair that works with all the Git providers is present by default. To start using it, add the public key to the Git provider.
-
Generate an SSH key pair that only works with a particular Git provider:
-
In the Che IDE, press F1 to open the Command Palette, or navigate to View → Find Command in the top menu.
The command palette can be also activated by pressing Ctrl+Shift+p (or Cmd+Shift+p on macOS).
-
Search for SSH: generate key pair for particular host by entering
generate
into the search box and pressing Enter once filled. -
Provide the hostname for the SSH key pair such as, for example,
github.com
.The SSH key pair is generated.
-
-
Click the View button in the lower-right corner and copy the public key from the editor and add it to the Git provider.
You can now use another command from the command palette: Clone git repository by providing an SSH secured URL.
Adding the associated public key to a repository or account on GitHub
To add the associated public key to a repository or account on GitHub:
-
Navigate to github.com.
-
Click the drop-down arrow next to the user icon in the upper right corner of the window.
-
Click Settings → SSH and GPG keys and then click the New SSH key button.
-
In the Title field, type a title for the key, and in the Key field, paste the public key copied from Che.
-
Click the Add SSH key button.
Adding the associated public key to a Git repository or account on GitLab
To add the associated public key to a Git repository or account on GitLab:
-
Navigate to gitlab.com.
-
Click the user icon in the upper right corner of the window.
-
Click Settings → SSH Keys.
-
In the Title field, type a title for the key and in the Key field, paste the public key copied from Che.
-
Click the Add key button.
Managing pull requests using the GitHub PR plug-in
To manage GitHub pull requests, the VS Code GitHub Pull Request plug-in is available in the list of plug-ins of the workspace.
Using the GitHub Pull Requests plug-in
-
GitHub OAuth is configured. See Configuring GitHub OAuth.
-
Sign in to GitHub, using the Accounts menu or the Sign in button in the plugin’s view:
To sign out from GitHub use the Accounts menu in the left bottom side, or GitHub Pull Requests: Sign out of GitHub command.