0x01 問題
我有兩個github賬號, 昨天切換了一個賬號. 讓后clone了一個切換后的帳號中的倉庫. 在這個倉庫中做了些修改, 讓后提交, 結(jié)果無法提交. 錯誤信息如下 (其中當(dāng)前賬號用currentAccount表示, 前一個賬號用previousAccount表示, 當(dāng)前要提交的倉庫用currentRepo表示):
> git push
remote: Permission to currentAccount/currentRepo denied to previousAccount.
fatal: unable to access 'https://github.com/currentAccount/currentRepo/': The requested URL returned error: 403
從錯誤信息可以看出, 執(zhí)行git push
時讀取的賬號信息是之前的賬號. 因此, 本地某個位置肯定存儲了github的帳號信息 ==>
主要是由于我在~/.gitconfig
文件中添加了下面配置:
[credential]
helper = store
添加了此項配置之后, github的賬號信息就會記錄在~/.git-credential
這個文件中, 以后需要賬號信息就會從這個文件中讀取. 至于為何添加上述配置, 請參考解決向github提交代碼是老要輸入用戶名密碼的問題
tips: 不推薦這么配置!! 萬一有惡意的程序讀取~/.git-credential
文件的內(nèi)容, 然后上傳 ...... 然后別人拿你的帳號干點壞事......
0x02 解決方案
既知道了存儲賬號信息的地方, 那么解決方案就清楚了, 即: 清除~/.git-credential
文件中之前的賬號信息
**刪除掉~/.git-credential
文件中之前的github賬號. **
現(xiàn)在你再執(zhí)行git push
便會出現(xiàn)讓你輸入用戶名密碼的步驟, 這時候輸入你當(dāng)前倉庫的賬號信息就OK啦!!