Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
918 views
in Technique[技术] by (71.8m points)

git - Github remote permission denied

I'm trying to upload my repo on github and go through all the steps upto:

git push -u origin master

at that point it gives me the following error:

remote: Permission to samrao2/manager-4.git denied to samrao1.

fatal: unable to access 'https://github.com/samrao2/manager-4.git/': The requested URL returned error: 403

I think the issue is that i was logged into another Git account before "samrao1" and now i am trying to push to "samrao2".

Can someone help me reset this to where i can successfully push to "samrao2". I am assuming i will be prompted for my password the first time i try to do it.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Unable to access https means: this has nothing to do with SSH (and switching to SSH, while possible, does not explain the original issue)

This has to do with credential caching, meaning Git will be default provide the credentials (GitHub account and password) of the old account while you are trying to push to the new account.

See if you have a credential helper that would have cached your (old account) credentials (username/password) used to authentication you.

git config credential.helper 

On Mac, as commented by Arpit J, just goto/open your keychain access->search for github.com related file->and edit credentials there.

https://help.github.com/assets/images/help/setup/keychain-access.png

See "Updating credentials from the OSX Keychain"

On Windows (And, in 2021, possibly Linux or even Mac), that would be the Windows Credential Managers GCMC: Git Credential Manager Core.
Open the Windows Credential Store, and see if the first user is registered there: delete that entry, and you will be able to authenticate with the second user.

(Here is an example for BitBucket)

https://kwilson.io/blog/wp-content/uploads/2015/01/4-store.png


In command-line (see git credential), for a manager core credential helper:

  • Get the old password:

    printf "protocol=https
    host=github.com
    username=<me>" | 
      git credential-manager-core get
    
    # output:
    protocol=https
    host=github.com
    username=<me>
    password=<oldpassword>
    
  • Remove the old password:

    printf "protocol=https
    host=github.com
    username=<me>" | 
      git credential-manager-core erase
    

(Replace <me> by your GitHub user account name)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...