[英]Github remote permission denied
我正在嘗試通過以下所有步驟將我的回購上傳到 github 和 go:
git push -u origin master
那時它給了我以下錯誤:
遠程:對 samrao2/manager-4.git 的許可被 samrao1 拒絕。
致命:無法訪問“ https://github.com/samrao2/manager-4.git/ ”:請求的 URL 返回錯誤:403
我認為問題是我在“samrao1”之前登錄了另一個 Git 帳戶,現在我正試圖推送到“samrao2”。
有人能幫我把它重置到我可以成功推送到“samrao2”的地方嗎? 我假設我第一次嘗試這樣做時會提示我輸入密碼。
無法訪問 https 意味着:這與 SSH 無關(並且切換到 SSH,雖然可能,但並不能解釋原始問題)
這與憑據緩存有關,這意味着當您嘗試推送到新帳戶時,Git 將默認提供舊帳戶的憑據(GitHub 帳戶和密碼)。
看看您是否有一個憑證助手來緩存您用於驗證您的(舊帳戶)憑證(用戶名/密碼)。
git config credential.helper
在 Mac 上,正如Arpit J所評論的那樣,只需轉到/打開您的鑰匙串訪問-> 搜索 github.com 相關文件-> 並在那里編輯憑據。
請參閱“ 從 OSX 鑰匙串更新憑據”
在 Windows(並且,在 2021 年,可能是 Linux 甚至 Mac)上,這將是 Windows 憑據管理器 GCMC:Git 憑證管理器核心。
打開 Windows Credential Store,查看第一個用戶是否在那里注冊:刪除該條目,您將能夠向第二個用戶進行身份驗證。
(這里是 BitBucket 的一個例子)
在命令行中(請參閱git credential
),對於經理核心憑據幫助程序:
獲取舊密碼:
printf "protocol=https\\nhost=github.com\\nusername=<me>" | \\ git credential-manager-core get # output: protocol=https host=github.com username=<me> password=<oldpassword>
刪除舊密碼:
printf "protocol=https\\nhost=github.com\\nusername=<me>" | \\ git credential-manager-core erase
(將<me>
替換為您的 GitHub 用戶帳戶名)
如果您使用的是 MacOS,您可以
那么你就准備好了!
我不確定問題是什么,但由於您提到不知道“安裝正確的密鑰”意味着什么,我假設您尚未設置您的計算機以通過 SSH 對您的 Github 存儲庫進行身份驗證。
本指南應向您展示如何執行此操作: 向您的 Github 帳戶添加新的 SSH 密鑰
另外,我建議對您的遠程 URL 使用“git://github.com/samrao2/manager-4.git/”,而不是“ https://github.com/samrao2/manager-4.git/ ”。 后者要求您每次都輸入密碼,而前者將通過 SSH 進行身份驗證,這遠沒有那么刺激。 您可以通過鍵入以下內容來更改存儲庫中的遠程 URL 以使用 git 協議,而不是 https:
git remote set-url origin git://github.com/samrao2/manager-4.git
從您的項目目錄中。
多個用戶生成自己的 ssh 密鑰, 生成新的 SSH 密鑰並將其添加到 ssh-agent
愛麗絲存儲庫, git bash :
git config user.name "Alice"
git config user.email "alice@email.com"
eval $(ssh-agent -s)
,ssh-add ~/.ssh/alice.private
ssh -T git@github.com
,測試你的 SSH 連接鮑勃存儲庫, git bash :
git config user.name "Bob"
git config user.email "bob@email.com"
eval $(ssh-agent -s)
,ssh-add ~/.ssh/bob.private
ssh -T git@github.com
,測試你的 SSH 連接我遇到了使用以下命令解決的相同問題
git 配置 --global credential.useHttpPath true
問題是您正在嘗試使用舊 github 帳戶的 ssh 密鑰推送到新的 github 帳戶,因此使用此鏈接為新的 github 帳戶生成新的 SSH 密鑰https://help.github.com/en/github/authenticating-to -github/error-permission-to-userrepo-denied-to-userother-repo ,然后將其添加到您的 github 帳戶。 在嘗試推動之后,它起作用了
此處 403 ( error ) 表示憑據錯誤或您無權推送。
單擊窗口按鈕 > 憑據管理器 > Windows 憑據 > 通用憑據
接下來,刪除或編輯 Github 密鑰。
1-在 Finder 中,搜索 Keychain Access 應用程序。
2在鑰匙串訪問中,搜索github.com。
3-找到 github.com 的“互聯網密碼”條目。
4-相應地編輯或刪除條目。
欣賞VonC的回答。
為了簡化和添加它,可以按照以下簡單步驟操作:
git config --global credential.useHttpPath true
您可以通過檢查來驗證這一點
git config --global -e
這將為每個用戶帳戶創建不同的條目。
我在 Github 有一個個人賬戶和一個企業賬戶。 我同時提交並推送對兩個帳戶的更改。
我所做的是 1) 在不同的會議上運行個人和商業項目; 2) 使用 SSH 鏈接為一個帳戶設置 URL,並為另一個帳戶保留 URL 正常 (HTTPS)。
您可以通過從您之前連接的特定存儲庫中撤銷第二個帳戶“samrao1”的訪問權限來解決此問題。
如果您仍然遇到相同的問題,請卸載 git 並重新安裝。 那對我有用。 謝謝
檢查您的個人訪問令牌。 編輯令牌中的范圍。 我檢查了令牌中的所有訪問選項。 這樣做,錯誤沒有出現。 https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
僅當您在機器上使用過 git cli 之前
然后只需按開始按鈕打開系統上的憑據管理器並鍵入“憑據管理器”並切換到“Windows 憑據”選項卡。
刪除與https://github.com關聯的現有已保存帳戶,如下所示:
現在再次嘗試推送代碼,這次將彈出身份驗證提示,驗證您的 github 帳戶並祝賀您,您的代碼托管到所需存儲庫的給定分支上。
我遇到了同樣的問題,然后從 Windows 憑據管理器中刪除了 git 憑據
通過更新我的用戶名和憑據解決了這個錯誤:
git config user.name "new name"
git config credential.username "new name"
重要提示:請記住正確設置您的令牌權限。
在我更改權限以允許完全 repo 訪問之前,我遇到了同樣的問題:
如果您使用 git 憑證助手
打開~/.git-credentials
文件並更改您的token
(如果它已過期),
還要檢查您的 GitHub 用戶名是否正確!
從項目目錄中刪除.git文件夾,然后再次從頭開始推送它們對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.