无法推送到我的组织存储库

问题描述 投票:0回答:2

我刚刚创建了一个包含两个存储库的 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.

阅读了一些关于这个问题的内容,到目前为止我已经尝试过:

  1. 创建了一个新的 ssh 密钥。
  2. 在 git config 中设置姓名和电子邮件:
git config --local user.email "[email protected]"
git config --local user.email "myusername"
  1. 创建一个新的 ssh 密钥并按如下方式添加:
ssh-add ~/.ssh/my_ssh_key
  1. 在组织设置中停用第三方应用程序限制。

这些似乎都不起作用。该项目和存储库是全新的,我只是想将我最初的更改推送给它们。

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

git github repository github-organizations
2个回答
0
投票

我将创建第二个密钥(没有密码,用于测试),然后将其公钥注册到新帐户

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

0
投票

我今天偶然发现了这一点,最终在 IntelliJ 中使用了组织细粒度令牌。因此,对于任何也遇到此问题的人:

1.在您的组织中授权令牌

在 GitHub 上,转到您的组织设置。在左侧面板上,单击“个人访问令牌”部分。您将完成几个步骤,您可以在其中为您的组织配置个人访问令牌创建。第一步选择“允许”,其余的保留默认值即可。

2.创建细粒度令牌

现在转到您的 GitHub 帐户设置。在左侧面板的底部,单击“开发人员设置”。然后,在“个人访问令牌”下,选择“细粒度令牌”。然后点击“生成新令牌”。
现在,在令牌创建页面的“资源所有者”下,您必须选择您的组织。然后选择“仅选择存储库”并选择您想要访问的存储库。您现在可以单击“存储库权限”并添加内容读取和写入访问级别。单击页面底部的“生成令牌”来验证您的令牌创建。您必须复制随后提供给您的令牌。

3.将令牌添加到 IntelliJ

在 JetBrains IDE 中,打开存储库项目,转到 IDE 首选项并搜索“GitHub”。您将找到为此项目配置的 GitHub 帐户列表。 如果您的帐户已列出,请将其删除。然后单击“+”按钮添加新帐户并选择“使用令牌登录”。然后您必须粘贴您在上一步中获得的令牌。

Aaaaaa 就是这样,你可以走了。

© www.soinside.com 2019 - 2024. All rights reserved.