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

lnvxswe2  于 2024-01-04  发布在  Git
关注(0)|答案(2)|浏览(141)

我刚刚创建了一个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 key。
1.在git config中设置name和email:

git config --local user.email "[email protected]"
git config --local user.email "myusername"


1.创建了一个新的ssh-key,并像这样添加它:

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


知道为什么不工作吗?
谢谢你,谢谢

UPDATE:由于我有多个github账号,运行ssh -T [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)显示我认证了其他账号。

# 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它就会改变。

ngynwnxp

ngynwnxp1#

我会创建第二个密钥(不带密码,用于测试)和register its public key to the new account

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

wz8daaqr

wz8daaqr2#

我今天偶然发现了这一点,并最终在IntelliJ中使用了一个组织细粒度令牌。因此,对于任何在这方面遇到麻烦的人来说:

1.授权组织内的token

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

2.创建细粒度Token

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

3.在IntelliJ中添加token

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

相关问题