我已成功从 GitLab 实例克隆存储库。该存储库称为
main
。 (它的命名早在大多数人开始使用 main
作为分支名称之前。这可能不是很相关,但可能值得一提以避免混淆。)
几天后,我希望其他团队成员的任何新更新都包含在我的本地副本中。所以我运行了以下命令:
git fetch --all
...并得到:
Fetching origin
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 556 bytes | 185.00 KiB/s, done.
From git.mycompany.com:core/main
* [new branch] TIC-123_Remove_deprecations -> origin/TIC-123_Remove_deprecations
Fetching main
myfirstname.mylastname@git: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
error: could not fetch main
但有趣的是。运行成功:
git fetch
...给我这个:
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 547 bytes | 68.00 KiB/s, done.
From git.mycompany.com:core/main
* [new branch] abc/TIC-101_change_wording_in_translations -> origin/abc/TIC-101_change_wording_in_translations
这不是一个公共存储库:根据我的理解,这两种情况都应该失败,或者两者都失败。
我已验证我的
~/.ssh/id_ed25519.pub
文件中的密钥与 GitLab 为我的用户显示的密钥相同,并且该密钥未过期。 (还有一个月的时间。)我还验证了该存储库仍然存在,并且我可以在 GitLab 中访问它。
知道如何重新获得此存储库的访问权限吗?
===
编辑:运行
git remote -v
显示以下内容:
main ssh://git/core/main.git (fetch)
main no-push (push)
origin [email protected]:core/main.git (fetch)
origin [email protected]:core/main.git (push)
您有 2 个遥控器:
main
,带有获取 URL ssh://git/core/main.git
,禁用推送;和 origin
以及 URL [email protected]:core/main.git
用于获取和推送。 git fetch --all
从两个遥控器获取,但其中一个似乎没有您的 SSH 密钥。您可以使用 git fetch main
进行检查。
您必须决定是否需要远程
main
;如果没有 — 用 git remote rm main
将其删除;如果是 - 在远程配置 SSH 密钥。