Please use a newer Browser like Firefox or Chrome. We are ending support for this browser. Please upgrade your browser to improve your experience and security.

How to Access GitLab via SourceTree (UPDATED)

Tutorials · Last updated on

If you want to access GitLab via SourceTree, you can connect it with an account profile now. Another method is to connect GitLab by using the clone function with SSH key.

What Will We Learn (Method 1)

  • Access GitLab with personal access token

What Will We Learn (Method 2)

  • Create SSH key
  • Access GitLab via SourceTree with SSH key

Method 1: Connect with Remote (Account Profile)

Since SourceTree 3.0, it adds support for additional remote hosting services. They are GitHub Enterprise, Microsoft Visual Studio Team Services, and GitLab (Cloud, CE, EE).

Create Personal Access Token

To connect GitLab with Remote, personal access token is required for authentication. To create personal access token, login GitLab and go to Settings.

Go To Settings

After that, select Access Tokens from the sidebar. You will create your personal access token here. Give access token a name. You are able to set an expiry date for your access token. By leaving it blank, access token will never expire. Next check the api and read_user checkbox, it is required for SourceTree to connect to GitLab remotely. Click on Create personal access token to complete the setup.

Create Personal Access Token

Next open up your SourceTree, click on Remote and click on Add an account.

Add Remote Account

Select GitLab as the hosting services, and choose HTTPS as the Preferred Protocol. Click on Refresh Personal Access Token.

Refresh Personal Access Token

You will be prompted to enter the username and password. After entering the username and password then press OK to continue.

Enter Username and Password

Do take note that email address you used to login GitLab is not your username. If you do not know your username. Go to GitLab and click on the top right profile icon. The text after @ is your username. In this example, it would be aword-test.

Your Username

Furthermore, the password is your personal access token code. It only shows you once you created your personal access token. Make sure save your personal access token code in a safe place.

Save Personal Access Token Code

Then you have completed the steps to connect GitLab with SourceTree. If you connect successfully, you will able to see your repositories in SourceTree.

Connected Successfully

Method 2: Connect with SSH Key

This method is useful for users who are not using SourceTree 3.0 and above.

What is SSH Key

The Secure Shell (SSH) key is based on the principle of Public-key cryptography. It is used as a way of authentication. By generating an SSH key pair, you will get a private key and a public key. You can image public key as a padlock. You can distribute it to any systems on the Internet. Private key is like a key of the padlock. You should keep the private key securely and avoid it from being compromised. To access any system with public key, you need to use the private key to authenticate yourself.

Create SSH Key

To create SSH key, you need to generate your own SSH key with SourceTree. Go to Tools and select Create or Import SSH Keys.

Create or Import SSH Key

Click on Generate to create SSH Key. Move your mouse cursor within the PuTTY Key Generator continuing to generate the SSH Key.

Generate SSH Key

After SSH Key is generated, type your own Key passphrase for your SSH Key. Key passphrase is like a password to protect your SSH private key. Save your public key and private key for future use.

Save Public Key and Private Key

Add SSH Public Key to GitLab

To add your SSH Key to GitLab, you need to log into you GitLab account. Click on your profile icon on the top right corner, then select Settings. Click on SSH Keys on the side menu.

Select Settings

Copy your public key inside your PuTTY Key Generator, then paste it into GitLab. Click on Add Key to add your SSH Key into the GitLab.

Paste SSH Key to GitLab

Add SSH Private Key to SourceTree

To add private key to SourceTree, Click on Tools then click Launch SSH Agent…

Launch SSH Agent

You will find SSH Agent named as Pageant on the taskbar. Double click on Pageant.

Pageant

Now click on Add Key. Add your private key which have been saved earlier.

Add Key to Pageant

Clone Repository to Access GitLab via SourceTree

Go into your projects in your GitLab. Copy the SSH URL.

SSH URL

In SourceTree, click on Clone. Paste the repository URL into Source Path. Click on Clone, you have successfully connected GitLab with SourceTree. Now you are able to pull and push your code to GitLab with SourceTree.

Access GitLab via SourceTree

Comments

  1. Great article!

    One thing that I think should be noted for method 1 is that instead of using the actual Gitlab password that you use to login to the gitlab.com website, you should be using the Personal Access Token that’s provided immediately after creating the Access Token in your Gitlab account settings (it’s provided only once, you have to copy it then) *as the password* in Sourcetree after clicking “Refresh Personal Access Token”

  2. First, you want to switch back to the main branch. From the left-side menu items in Sourcetree, hover your mouse over the right side of the Branches label so that the word Show appears.

  3. Connected to Gitlab using Access Token, I am able to see the repos listed when I search but then when I click “Clone” it will access for password and fail.

    1. Go to “Tools” and click on “Options”. Then, clicks on “Authentication” tab. Set your gitlab account as default. After that, try again.

  4. While going through steps for “Clone Repository to Access GitLab via SourceTree”
    I am facing issue where it is saying “This is not a valid source path / URL”
    I am Using HTTP link

  5. I tried connecting Gitlab and Source tree,I tried all the above options but still not working Source Tree version 3.4.8
    Tried SSH and Personal Access Token,both are not working.Can anyone help

  6. git -c diff.mnemonicprefix=false -c core.quotepath=false –no-optional-locks fetch origin
    FATAL ERROR: Network error: Connection timed out
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.

    Completed with errors, see above.
    facing this issue even i have access

    1. Check your SSH agent and the SSH Key. Make sure the key is added to the SSH agent and gitlab. And SSH Key must be paired to the gitlab and SSH agent.

Leave a Reply

Your email address will not be published. Required fields are marked *