git config --global credential.helper wincred
After running above command it asks me again my updated username and password.
Before digging into the solution lets first see why this happens.
Before any transaction with git that your machine does git checks for your authentication which can be done using
An SSH key token present in your machine and shared with git-repo(most preferred)
Using your username/password (mostly used)
Why did this happen
In simple words, this happened because the credentials stored in your machine are not authentic i.e.there are chances that your password stored in the machine has changed from whats there in git therefore
Solution
Head towards, control panel and search for Credential Manager look for your use git url and change the creds.
There you go this works with mostly every that windows keep track off
–
Note: do not mix GitLab SSL settings and GitLab SSH keys.
If what you have configured in your GitLab profile is an SSH public key, then your HTTPS URL would not use it.
Regarding your HTTPS credentials, double-check:
if the two-factor authentication is disabled, or
if you have special characters in your username or password, or
if you have a Git credential helper: git config credential.helper
.
–
–
–
–
It happens if you change your login or password of git service account (GitHub or GitLab, Bitbacket, etc). You need to change it in Windows Credentials Manager too.
So, type "Credential Manager" (rus. "Диспетчер Учетных Данных") in Windows Search menu and go to your git service account and change data too.
–
I beleive I'm little late here. But I think this would help the new peeps!
My Errors were:
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'read_repository' or 'write_repository' 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/PROFILE_NAME/REPO_NAME.git/'
I'm on Ubuntu but this worked for me:
Goto https://gitlab.com/profile/personal_access_tokens
Create new token and mark check to all.
Copy your token
Now go to your Terminal and paste it like this.
git clone https://oauth2:YOUR_TOKEN@gitlab.com/PROFILE_NAME/REPO_NAME.git/
–
–
–
Not always the best solution; where I work, even though we're slowly moving towards using GIT, we have our applications on a network drive, so if I do this, only I can push changes even if someone else worked on a feature.
I can't run git config --system --unset credential.helper
from GIT Bash, so I had to open up an Admin Command Prompt and run it there (this assumes you installed GIT such that it can run from both GIT Bash and the Command Prompt). From Bash, I get a "could not lock config file" error.
It is certainly a bug, ssh works with one of my machines but not the other. I solved it, follow these.
Generate an access token with never expire date, and select all the options available.
Remove the existing SSH keys.
Clone the repo with the https instead of ssh.
Use the username but use the generated access token instead of password.
alternatively you can set remote to http by using this command in the existing repo, and use this command git remote set-url origin https://gitlab.com/[username]/[repo-name].git
–
https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-quot-fatal-Authentication-failed-for-quot/qaq-p/201844
When you try to push again it will ask for your password.
–
I solved it by removing the file "passwd" in
C:\Users\<USERNAME>\AppData\Local\Atlassian\SourceTree
After removing Sourcetree will prompt for the password.
Note:
OS Version : win10
Sourcetree Version: 3.1
Go to keychain and delete gitlab accounts
Go to your project path in terminal and simply type git pull
Then you will be asked for username and password for gitlab
Enter your username which you will find out in gitlab account in profile section.
Then after that enter you updated password here.
Here we go, again try to push your code, it may help you guys.
Move to .git/config file and edit it,
Remove invalid URL(if it's there) and paste the valid git SSH/HTTP URL like below way:
[remote "origin"]
url = git@gitlab.com:prat3ik/my-project.git
And it was working!!
Generate an access token: to do so go to settings/access tokens, then give it a name and expiration date and submit.
In your project files open the "config" file in ".git" directory: /.git/config
.
You will find a line like this:
[remote "origin"]
url = https://[username]:[token]@your-domain.com/your-project.git
You will have your gitlab username instead of [username], and you should replace [token] with your token generated in step 1.
Save the changes.
Strangely enough, what worked for me was to sign out and sign back in to the GitLab web UI.
I have no earthly idea why this worked.
it worked for me: I use Mac and I wrote the path on finder:
~/Library/Application Support/SourceTree
I deleted the auth file which should be like
yourUserName@STAuth-gitlab.yourAdress
then tried to push and pull the code from the source tree and it worked.
You can also read the following answers:
https://community.atlassian.com/t5/Sourcetree-questions/How-to-update-HTTP-S-credentials-in-sourcetree/qaq-p/297564
So for me the problem was that I had created my GitLab account via linking my GitHub account to it. This meant that no password formally existed for the account as it was created via hotlink between GitHub and GitLab. I fixed it by going to GitLab Settings -> Password -> and writing the same password as my GitHub account had.
None of the above solutions worked for me and I don't have admin rights on my laptop, but they eventually led me to the git tools credential storage doc :
My setup
Windows 10 |
git version 2.18.0.windows.1 |
Clone through HTTPS link
This solution works if you use wincred as credential helper :
> git config --global credential.helper
wincred
Changing the helper to "cache" should do the trick, as it will ask you to provide your credentials again. To set it to cache, just type :
> git config --global credential.helper cache
Check your update is active:
> git config --global credential.helper
cache
You should now be able to clone / pull / fetch as before.
In my case I reinstalled to the latest version of git (currently 2.16.2). I don't know if it was that my old version of git was outdated, but I read on a github page that this should be done if you stumble into https cloning errors. I figured it was an https cloning error as the error focuses on HTTP Basic
, while GitLab uses HTTPS
. I might be wrong in this thought process, but the solution helped in my case, and I hope this helps anyone in the future!