gitlab - Push to a repository using access_token

52,370

Solution 1

You should do

git remote add origin https://<access-token-name>:<access-token>@gitlab.com/myuser/myrepo.git

Note that this stores the access token as plain text in the .git\config file. To avoid this you can use the git credential system, providing the access token name for "username" and the access token for "password". This should store the credentials in the git credential system in a more secure way.

Solution 2

It is also possible to push directly without adding a new remote repository:

git push https://gitlab-ci-token:<access_token>@gitlab.com/myuser/myrepo.git <branch_name>

This could be especially handy if you would like pull & push to different repositories.

Share:
52,370
Simon Bruneaud
Author by

Simon Bruneaud

Updated on July 08, 2022

Comments

  • Simon Bruneaud
    Simon Bruneaud almost 2 years

    I implemented the oauth2 web flow in order to get access_token from users of my app. With the access_token, I would like to do the following actions:

    1. Get user informations
    2. Create a repo for this user
    3. Push code to this repo (using git push )

    I already successfully get the user information(1) and create a repo(2)

    The problem is I can't push code (3), I got "Unauthorized" error.

    The command I run:

    git remote add origin https://gitlab-ci-token<mytoken>@gitlab.com/myuser/myrepo.git  
    git push origin master