簡體   English   中英

無法推送到 Gitlab,你不能推送代碼到這個項目

[英]Unable to push to Gitlab, You are not allowed to push code to this project

我最近無法將任何更改推送到 Gitlab.com 上的任何存儲庫。

我知道如果您更改了 SSH 密鑰或站點關閉,有時會發生這種情況,但據我所知,我沒有更改~/.ssh目錄中的任何內容,而且 Gitlab.com 似乎正在運行。

然而,如果我運行git push我會得到錯誤:

You are not allowed to push code to this project.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

奇怪的是, git pull仍然有效。 我也嘗試重新克隆 repo,制作、提交和推送,但仍然失敗。 添加--verbose選項沒有顯示更多細節。

我仔細檢查了我的 Gitlab 帳戶中文件中的 SSH 密鑰是否與我的~/.ssh/id_rsa.pub文件中文件中的密鑰匹配。 我還嘗試添加我的~/.ssh/config條目:

Host gitlab.com
 IdentityFile ~/.ssh/id_rsa

但這沒有效果。

這里發生了什么? 為什么 Gitlab 突然不接受文件中的 SSH 密鑰?

首先檢查遠程 URL ( git remote -v ) 確實是 SSH ( git@gitlab:... ),而不是 HTTPS ( https://gitlab.com/... )

在后一種情況下(HTTPS),只有您的git config credential.helper可以解釋錯誤,因為緩存了錯誤的憑據(您的 GitLab 帳戶的用戶名/密碼)

如果是前者,請嘗試使用舊的 PEM 格式而不是新的 OPENSSH 格式創建新的 SSH 密鑰,以防 GitLab 更好地支持。

我通過擁有多個 gitlab 帳戶來解決這個問題,每個帳戶都有不同的 ssh 密鑰。 登錄網站,創建項目,使其世界可訪問,將其拉下,然后無法推回,這令人困惑。

問題是我有第二個 gitlab 帳戶,其中的密鑰首先出現在我的鑰匙鏈中。

例如, account1~/.ssh/id_rsa相關聯, account2~/.ssh/id_ed25519相關聯。 我使用account1登錄到 gitlab,創建並克隆一個 repo,然后無法推送。 問題是我的 ssh 鑰匙串首先有id_ed25519 ,所以 gitlab 認為account2試圖將編輯推回,它沒有權限。

我注意到有一個功能要求錯誤消息更詳細,以便更容易調試這個問題。 他們說“好主意”然后關閉了請求。 :/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM