我刚刚创建了一个包含两个存储库的 Github 组织,但似乎我无法推送/拉取/获取其中任何一个。当我运行时它会显示此错误消息
git push -u origin master
:
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
阅读了一些关于这个问题的内容,到目前为止我已经尝试过:
git config --local user.email "[email protected]"
git config --local user.email "myusername"
ssh-add ~/.ssh/my_ssh_key
这些似乎都不起作用。该项目和存储库是全新的,我只是想将我最初的更改推送给它们。
git init
git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin [email protected]:<organization_name>/repo_name.git
git push -u origin master # here it fails
知道为什么不起作用吗?
谢谢!
更新:因为我有多个github帐户,运行
ssh -T [email protected]
它显示我已通过其他帐户的身份验证。
# ssh -T [email protected]
Hi MY_WRONG_ACCOUNT! You've successfully authenticated, but GitHub does not provide shell access.
所以我想我需要更改该帐户。 (我以为一旦我运行它就会改变
ssh-add ~/.ssh/my_write_acc_key
。
我将创建第二个密钥(没有密码,用于测试),然后将其公钥注册到新帐户。
ssh-keygen -P "" -t rsa -f ~/.ssh/secondUser
并创建一个 ~/.ssh/config 文件来引用第二个密钥:
Host gh2
Hostname github.com
User git
IdentityFile ~/.ssh/secondUser
从那里,检查您的密钥是否引用了正确的用户:
ssh -Tv gh2
并更改您的远程 URL:
cd /path/to/repo
git remote set-url origin gh2:<organization_name>/repo_name.git
我今天偶然发现了这一点,最终在 IntelliJ 中使用了组织细粒度令牌。因此,对于任何也遇到此问题的人:
在 GitHub 上,转到您的组织设置。在左侧面板上,单击“个人访问令牌”部分。您将完成几个步骤,您可以在其中为您的组织配置个人访问令牌创建。第一步选择“允许”,其余的保留默认值即可。
现在转到您的 GitHub 帐户设置。在左侧面板的底部,单击“开发人员设置”。然后,在“个人访问令牌”下,选择“细粒度令牌”。然后点击“生成新令牌”。
现在,在令牌创建页面的“资源所有者”下,您必须选择您的组织。然后选择“仅选择存储库”并选择您想要访问的存储库。您现在可以单击“存储库权限”并添加内容读取和写入访问级别。单击页面底部的“生成令牌”来验证您的令牌创建。您必须复制随后提供给您的令牌。
在 JetBrains IDE 中,打开存储库项目,转到 IDE 首选项并搜索“GitHub”。您将找到为此项目配置的 GitHub 帐户列表。 如果您的帐户已列出,请将其删除。然后单击“+”按钮添加新帐户并选择“使用令牌登录”。然后您必须粘贴您在上一步中获得的令牌。
Aaaaaa 就是这样,你可以走了。