本文假設了兩個用戶 userA 和 userB ,userA的github項目名爲 test 當你在使用git push項目的時候,你遇到了這個問題:git
MacBook-Pro:BSBacktraceLogger $ git push -u origin master
remote: Permission to userA/test.git denied to userB.
fatal: unable to access 'https://github.com/userA/test.git/': The requested URL returned error: 403
複製代碼
報了403,說明訪問被拒絕。 意思很明白,userB沒有權限對userA的test進行push更改。 可是這時你已經使用了以下命令去配置全局用戶。github
git config --global user.name userA
git config --global user.email userA@Email.com
複製代碼
而且很明確當前用戶已是userA,但仍是說userB沒權限。bash
因爲該電腦使用git bash配過SSH,系統已經將指向github.com的用戶設置爲了userB,每次push操做的時候,都將讀取到userB的用戶信息,相似於記住密碼
。spa
在mac操做系統中,出現這個問題是經過OSX密鑰鏈中的憑據來進行做爲push的憑據的。這時咱們能夠到 鑰匙串訪問 -》 刪除咱們的userB的憑據。具體操做以下:操作系統
在 Finder 中,搜索 Keychain Access 應用程序。 .net
在 Keychain Access 中,搜索 github.com。 3d
相應地編輯或刪除該條目。code
再次嘗試 輸入帳號密碼後成功push。 cdn