I love services which provide extra security. One way to provide such a level security is by using Two Factor Authentication (2FA). GitLab provides 2FA, and I enabled it. After that, cloning a repository will not work in the usual mode,
git clone https://gitlab.com/username/projectname.git
It will result
Cloning into 'projectname'...
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'api' scope for Git over HTTP.
remote: You can generate one at https://gitlab.com/profile/personal_access_tokens
fatal: Authentication failed for 'https://gitlab.com/username/projectname.git/'
As the response suggest, we need to create a personal access token.
Creating a personal access token
- Log in to your GitLab account.
- Go to your Profile settings.
- Go to Access tokens.
- Choose a name and optionally an expiry date for the token.
- Choose the desired scopes (api access).
- Click on Create personal access token.
- Save the personal access token somewhere safe. Once you leave or refresh the page, you wonโt be able to access it again.
Once you have created your personal access token, try cloning by
git clone https://oauth2:PERSONAL_ACCESS_TOKEN@gitlab.com/username/projectname.git
Replace โPERSONAL_ACCESS_TOKENโ with the token you have generated.