Git推送错误:仓库未找到

我有一个非常奇怪的问题,gitgithub。当我试着推的时候,我得到:

git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

我添加了遥控器:

git remote add origin git@github.com:account-name/repo-name.git

什么好主意吗?

922554 次浏览

如果您包括您的用户名和回购名称,我们可以合理地帮助您,目前我们没有理由认为回购确实存在。

此外,如果回购是私有的,并且您无法访问它,github将返回“不存在”,以避免披露私有回购的存在。

编辑:如果你不能克隆它,因为它说它不存在,它是私有的,这是因为你没有发送身份验证。确保您的公钥已添加到密匙环,或暂时使用HTTP基本身份验证。

检查是否具有读写权限。

Git错误消息具有误导性。我也遇到过类似的问题。我被添加到一个现有的项目中。我克隆了它并提交了一个本地更改。我去推送,得到了ERROR: Repository not found.错误消息。

将我添加到项目的人给了我对存储库的只读访问权。他们做出了改变,我得以推动。

我得到了同样的错误

ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

我在Github上创建了存储库,并在本地克隆了它。

我可以通过打开.git/config并删除[remote "origin"]部分来解决。

[remote "origin"]
url = git@github.com:alexagui/my_project.git
fetch = +refs/heads/*:refs/remotes/origin/*

然后我运行以下程序(再次)

git remote add origin git@github.com:alexagui/my_project.git
git push -u origin master

这一次我可以推到存储库。

如上Alex所说,更改.git/config文件的内容会有所帮助。我也遇到了同样的问题,我想这是因为我更改了我的Github用户名。无法使用更改更新本地文件。所以当你改变你的用户名时,你可能会考虑跑步

# EYZ0

我希望这对你有所帮助;)

我也有同样的问题。我的问题是误解,我必须先在github上创建空的回购,然后再推到它。哎!包括这个给那些没意识到的人。

我在更新ubuntu到下一个版本后遇到了同样的错误

我刚刚删除了我的sshkey在github帐户,然后重新添加了一个sshkey到该帐户。

转到你的项目文件夹,然后搜索。git文件夹,然后用记事本打开配置文件,检查是否有你的链接到github回购下:[remote "origin"],如果它是不同的,然后在你的github回购,然后编辑它,或在配置文件中打开一个新的回购名称

我得到了同样的错误,因为我改变了我的github用户名,然后我这样做:

git remote -v

然后:

git remote set-url newname newurl
git push -u origin master

这次我能够推送到存储库。

.

.

我得到这个错误(但之前正在工作)。我的问题是缺少与Github帐户绑定的ssh密钥。您可以使用ssh-add -l检查当前的ssh密钥。

如果你的钥匙丢失了,你可以用

ssh-add ~/.ssh/your_key

有类似的问题。问题的根源是我遵循了一些关于在Github上添加新的存储库的在线教程。

只要去Github,创建一个新的repo,它会要求你添加一个README, 不要添加它。创建它,你会得到如何推送的指导。

它类似于接下来的两行:

git remote add origin https://github.com/YOUR_USER/your-repo.git
git push -u origin master

我也遇到了同样的问题,我通过在回购url中包含我的用户名和密码来解决它:

git clone https://myusername:mypassword@github.com/path_to/myRepo.git
git remote rm origin
git remote add origin <remote url>

首先在命令行上创建一个新的存储库,命名为adim .git

在命令行上创建一个新的存储库

< p > README.md联系 git init git添加README.md Git commit -m "第一次提交" git远程添加原点https://github.com/your_name/Ademo.git Git push -u origin master

从命令行推送现有存储库

git remote add origin https://github.com/your_name/Ademo.git Git push -u origin master

如果使用私有存储库检查连接用户,则该用户必须具有使用存储库的权限。

SSH访问检查方法如下:

ssh -T git@github.com

这个问题是因为我没有在存储库中添加SSH上的人响应,阅读更多关于SSH 链接1链接2

都经历过同样的问题。几年来一切都很正常,然后突然出现了这个错误。

问题是,我在用户的github SSH密钥(我总是用来访问有问题的回购)之前向我的SSH代理添加了另一个回购的部署密钥。SSH代理首先尝试了另一个回购的部署键,而GitHub出于一些完全无法解释的原因说

ERROR: Repository not found.

一旦我从SSH代理中删除了部署键,一切就恢复正常了。

我的解决方案可能对你们中的一些人有用。

我把笔记本电脑的操作系统更新到优胜美地后,也出现了同样的错误。通过重新创建ssh密钥,我的问题得到了解决。您可以通过执行此页的第2步来完成此操作:https://help.github.com/articles/generating-ssh-keys/

创建一个Fork

如果没有对该存储库的写访问权,则不需要它。通过执行< >强这些指令< / >强创建一个分支——这是您自己的存储库的克隆,您可以自由修改。

在创建fork之后,您可以将该repo复制到您的计算机。

git clone git@github.com:<your-git-handle>/<repository>.git
// It will be cloned to your machine where you run the command
// under a <repository> folder that it will create.

签出一个新的分支并进行更改。

git checkout -b my-new-feature

要将更改提交到原始存储库,您需要确保它们已被推送

/* make changes */
git commit -am "New Feature: Made a new feature!"
git push origin my-new-feature

要将这些更改放到派生出来的原始存储库中,您可以通过执行这些指令来提交一个Pull Requests。Pull Request基本上,你请求对存储库有写访问权限的用户下拉你所做的更改。把它想象成“我请求您将我的更改拉到您的回购中。”


请注意:尽管如此,你的分支将不会随着原始存储库中正在进行的所有更改而保持最新。您必须定期删除这些更改—但这很容易。

创建分叉后,你可以链接到你已经分叉的回购,这样你就可以拉进它的变化并保持最新。

git remote add upstream git@github.com:<git-user-handle>/<repository>.git

一旦你做到了这一点,保持与原始回购上所做的更改同步是非常容易的。

git checkout master         // checkout your local master
git pull upstream master    // fetch changes from the master branch of the repo you forked from.. which is linked to your fork under the alias "upstream" (common naming convention)
git push origin master      // push the pulled changes onto your local master
git checkout -b new-branch  // create a new branch and start making changes

我有这个问题,意识到我使用的是一个不同的帐户,其回购是。以原始用户身份登录解决了该问题。

另外,一定要检查是否安装了桌面客户端。我仔细检查了一切,我的权限,SSH,但原来我在客户端列出的回购覆盖了我通过终端输入的。

如果你属于一个组在Github检查你有写访问权。

我也遇到过类似的问题。错误的凭据缓存在OS X的密钥链中。

看看:https://help.github.com/articles/updating-credentials-from-the-osx-keychain

下面为我解决了这个问题。

首先,我使用这个命令来确定使用的github帐户是什么:

ssh -T git@github.com

这给了我一个这样的答案:

Hi <github_account_name>! You've successfully authenticated, but GitHub does not provide shell access. I just had to give the access to fix the problem.

然后我明白了答案中描述的Github用户(github_account_name)在我试图拉的Github存储库上没有授权。

如果有人在github.com上遇到这个问题,检查你是否接受了回购所有者允许提交给你的邀请。直到你接受邀请,回购将是无形的为您。所以你会得到ERROR: Repository not found.

这解决了我的问题。

   git pull https://myusername:mypassword@github.com/path_to/myRepo.git

这是如何解决我的问题

#check current github account
ssh -T git@github.com


#ensure the correct ssh key used with github
ssh-agent -s
ssh-add ~/.ssh/YOUR-GITHUB-KEY


#re-add the origin
git remote add origin git@github.com:YOUR-USER/YOUR-REPO.GIT
git push -u origin master

所以对我来说,我的密码有一个'(勾),PhpStorm在发送git推送之前删除了这个字符:

在这个例子中,我的密码是_pa``ssword_

Phpstorm将输出以下内容:

# EYZ0

而不是

# EYZ0

将密码更改为不使用'字符的密码。工作! !

我也遇到过同样的问题,是私人回购。

做以下几点:

移除远端原点

git remote rm origin

重新添加原点,但与您的用户名和PWD与写权限在这个PVT回购

git remote add origin  https://USERNAME:PASSWORD@github.com/username/reponame.git

这对我来说很管用:

1. 的遥控器

$ git remote rm origin
$ git remote add origin git@github.com:<USER>/<REPO>.git

如果您的SSH密钥已经在另一个github代表上使用,您可以生成一个新密钥。

2. 生成新的SSH密钥

$ ssh-keygen -t rsa -b 4096 -C "web@github.com"

3.在SSH代理级别添加密钥

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_github

4. 将新密钥添加到Github回购。

我也有同样的问题。尝试如下:
.
.
1. 修改密钥链访问在Mac的git凭证解决了我的问题。
2. 重置源url

git remote rm origin
git remote add origin git@github.com:account-name/repo-name.git

一个问题,这可能是显而易见的一些,我没有看到这里提到,可能是你有ssh密钥访问,但你正试图通过https连接你的本地回购到远程。

如果是这种情况,那么下面的命令应该可以解决这个问题:

$ git remote -v
origin  https://github.com/private-repo.git (fetch)
origin  https://github.com/private-repo.git (push)
$ git remote rm origin
$ git remote add origin git@github.com:private-repo.git
$ git remote -v
origin  git@github.com:private-repo.git (fetch)
origin  git@github.com:private-repo.git (push)

请注意,上述工作的前提是:

  1. 您当前的远程名为origin并且您已经有一个 生成SSH密钥连接到您的github帐户

  2. 你已经有一个SSH密钥与你的github帐户相关联(并在本地连接)

  3. 你有正确的权限(读/写)设置在github为这个回购的设置。

我需要杀死凭证帮助进程(有多个),它在再次提供凭证后解决了这个问题。

# EYZ0

我努力寻找解决方案。 我的远程地址是正确的,如前所述,它是凭证问题。 显然,过去我在我的电脑上使用了另一个Git帐户,mac的钥匙链记住了前一个帐户的凭据,所以我真的没有被授权推送。< / p >

如何修复? 在mac上打开钥匙链访问,选择“All Items”类别并搜索git。 删除找到的所有结果。

现在去终端再按一次。终端会要求输入用户名和密码。输入新的相关凭证,就是这样!

希望它能帮助到别人。我挣扎了几个小时。

如果你在窗户上使用Git,试着清除你的凭证:

  1. 找到“证书管理器”;(应该在你的控制面板中)
  2. 删除所有与GitHub相关的凭证

enter image description here

这也可能发生,因为GitHub本身宕机了。一定要检查stat.github.com,看看问题是否在他们那边。

2018年10月22日,你有好几个小时都无法推送到GitHub。

我也有同样的问题。

我解决了把我的gitlab用户名前缀到gitlab.com url的问题,就像这样: 之前: https://gitlab.com/my_gitlab_user/myrepo.git 后: https://my_gitlab_user@gitlab.com/my_gitlab_user/myrepo.git 在这种情况下,将再次要求凭据,这就完成了!< / p >

remote: Repository not found.可能是来自的令人沮丧的误导性错误消息,当试图将您没有写权限推到HTTPS远程时。

检查存储库的写权限!< / >

尝试SSH远程到相同的存储库显示不同的响应:

% git remote add ssh git@github.com:our-organisation/some-repository.git


% git fetch ssh
From github.com:our-organisation/some-repository
* [new branch]        MO_Adding_ECS_configs             -> ssh/MO_Adding_ECS_configs
* [new branch]        update_gems                       -> ssh/update_gems


% git push ssh
ERROR: Repository not found.
fatal: Could not read from remote repository.


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

“正确的访问权?”

好# EYZ0

在这一点上值得注意的是,虽然SSH失败模式在这种情况下 是更好,我使用HTTPS远程超过SSH,因为 # EYZ0。< / p >

我知道GitHub使用&;Not found &;它的意思是“禁止”;在一些 环境防止不经意间泄露了一个私人的存在 库。< / p >

要求身份验证的请求将返回404 Not Found,而不是 403 Forbidden,在一些地方。这是为了防止意外泄漏

.对未授权用户的私有存储库

——# EYZ0

这在网络上是一种相当普遍的做法,实际上它是这样定义的:

404(未找到)状态代码表示未找到原始服务器 目标资源的当前表示形式或不愿意

——6.5.4. 404 Not Found, RFC 7231 HTTP/1.1语义和内容(重点是我的)

对我来说毫无意义的是,当我用GitHub使用a进行身份验证时 凭据助手 . 我可以访问该存储库(已成功克隆和获取 它),GitHub将选择隐藏它的存在从我因为失踪 写权限。< / p >

使用web检查https://github.com/our-organisation/some-repository/ 浏览器确认我没有对存储库的写权限。我们的 团队的GitHub管理员能够在短时间内授予我的团队写访问权

如果你的回购之前工作正常,突然弹出这个错误,最有可能的原因是您的git被验证为其他用户,该用户没有访问存储库的权限。因此,为了进行推送,您所需要做的就是在git命令中指定正确的用户名和密码。所以,一个github回购的推命令看起来像:

git push https://youruser:password@github.com/user/reponame.git

username and password需要进行url转义,因此@应该被% 40取代,依此类推。

如果你使用https从github克隆,但你正在使用ssh推送,你也会得到这个错误。

要纠正这个错误,打开.git/config并替换:

# EYZ0

# EYZ0

你应该可以在没有任何警告的情况下推…

这个问题:由于某些原因,Github不熟悉你的存储库。

错误:在git命令行中提示如下:

remote: Repository not found。致命:库 ' https://github.com/MyOrganization/projectName.git/ '未找到

解决方案: 2选项

  1. Github可能不熟悉您的凭据: -第一个选项是用正确的凭据克隆项目user:password,以防您忘记此或生成ssh令牌并在Github中调整此密钥。又名# EYZ1

  2. 一些用户的回购权限问题 -在我的用例中,我解决了这个问题,当我意识到我在Github上没有正确的合作者权限在我的私人回购。用户可以克隆项目,但不能对原始项目执行任何操作。为了解决这个问题:

去仓库Github ->设置->合作者&团队->添加 成员/维护你的用户->现在他们获得了提交的权限 ,推动< / p >

我的代码片段:

environment {
...
...
git_repo = 'my-repo'
}


stage ('Update Helm Chart') {
steps {
echo 'Updating values.xml file with latest Docker image tag'


withCredentials([usernamePassword(credentialsId: '6bgg7dd45-c65f13-4275-a96ddehdv67gdr', usernameVariable: 'GIT_USER', passwordVariable: 'GIT_PASS')]) {
sh '''
git checkout ${git_branch}
...
...
git remote set-url origin "http://${GIT_USER}:${GIT_PASS}@git.example.com/scm/${git_repo}.git"
git push origin ${git_branch}
'''
}
}
}

我的Git用户名是deploy.user@example.com,所以我必须首先URL编码 @%40。经过URL编码后,我的用户名变成了deploy.user%40example.com

然而,我仍然得到以下错误:

fatal: repository 'http://****:****@git.example.com/scm/my-repo.git/' not found

经过一些试验和错误,我发现,如果我不使用变量的用户名,而是硬编码它,它的工作。

git remote set-url origin "http://deploy.user%40example.com:${GIT_PASS}@git.example.com/scm/${git_repo}.git"

我也遇到了同样的问题,尝试了很多方法,但最后,我知道我没有足够的权限来推或拉这个回购,还有一种方法来检查你是否有权限,你无法看到该回购中的设置选项,如果你有权限,那么你将能够看到设置选项

谢谢!这是我观察到的

我在使用Android工作室时遇到了同样的问题,由于认证错误,我无法推送提交。

我的临时解决方案是使用GitHub桌面应用程序来推动我的提交,它工作得很好。

我的一个Github库也有同样的问题。

方法:

使用SSH而不是HTTPS,然后push/pull开始工作正常。

我在一台MAC上遇到了同样的问题,试图从我以前连接到的一个私人回购中提取。

我通过在回购url中包含我的用户名来解决这个问题:

git remote set-url origin https://<YOUR_USER_NAME_HERE>@github.com/<YOUR_USER_NAME_HERE>/<REPO>.git

然后我从回购中提取了数据。

对于一个你想克隆的新回购:

git clone https://<YOUR_USER_NAME_HERE>@github.com/<YOUR_USER_NAME_HERE>/<REPO>.git

它会提示你输入那个账户的密码,然后你就可以去了。

我可以解释我是如何陷入类似的情况,然后列出我已经采取的步骤来解决这个问题。

我正在使用
Windows 10,
Git: Git version 2.27.0.windows.1.

我已经安装了git,正在做git推送活动。Windows凭据管理器存储用户名和密码,所以你不必每次git远程活动都输入用户名和密码。

遇到这个问题,当我添加了另一个github帐户和使用——本地git设置。几天后,我遇到了存储库找不到的问题,经过调查我发现:

  1. 即使你从Windows凭证管理器中删除了git详细信息,它也会再次保存你输入的用户名、电子邮件详细信息。

因此,如果您使用两个git帐户,则需要使用(以管理员身份使用git bash)

git config --edit --system

然后移除

helper = manager

行,使其不再注册为凭据帮助器。但是每次你进行远程活动时,它都会询问你登录的详细信息。

# EYZ0。

检查远程源、用户详细信息

git config --list --show-origin

只需使用SSH远程url,而不是HTTPS

为了解决这个问题(在Linux上),我只需要运行这个:

git config --global --unset credential.helper
通常发生这种情况是因为项目是私有的,你没有权限写它。我有同样的“问题”;见过几次,就是因为这个原因。 如果这个项目是你的,只需要在这个链接下面创建一个私钥和一个公钥:https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent,并将它们添加到“SSH and key "部分在gitHub上,然后你将能够推到回购。另一方面,如果项目不是你的,要求所有者给你它的权利

你必须生成SSH密钥,并在设置中将其添加到你的github帐户中 转到你的项目,你在里面克隆运行这些命令

1-ssh-keygen -t rsa -b 4096 "rajankumar148@gmail.com"

在命令之后,你会得到一些选项,路径和名称可以留空,你可以输入密码。

2-eval $(ssh-agent -s)。

3-ssh-add ~ / . ssh / id_rsa

在这个命令之后,您必须输入与第一个命令中创建的相同的密码

之后,你可以检查你的默认主目录或任何目录,它在终端上显示。pub文件打开并复制密钥和过去在github设置新的SSH

enter image description here

步骤1:

从HTTPS复制链接

步骤2:

在本地存储库中

git remote rm origin

# EYZ0:

在复制的url中将github.com替换为username.password@github.com

步骤4:

git remote add origin url

使用Ubuntu,我总是必须使用SSH而不是HTTPS添加远程

git remote add origin git@github.com:username/project.git

而不是

git remote add origin https://github.com/username/project.git
自2021年5月以来,我(和许多其他人)就遇到了这个问题。 动作/checkout@v2 (GitHub issue: https://github.com/actions/checkout/issues/254)

我通过使用此步骤更改运行程序对回购进行身份验证的方式来解决这个问题。

- name: Bump version
env:
NODE_AUTH_TOKEN: $\{\{secrets.GITHUB_TOKEN}}
run: |
npm run release
git remote rm origin
git remote add origin https://$\{\{github.actor}}:$\{\{secrets.GITHUB_TOKEN}}@github.com/project/repo.git
git remote -v # for debug only
git show-ref # for debug only
git push --follow-tags origin HEAD:master

所有你需要做的是改变回购url。用户名和密码将在运行时由GitHub运行器替换。这适用于actions/checkout@v1actions/checkout@v2(还没有测试其他)。

此外,你在网上找到的许多代码片段已经带有权限限制,这将阻止你推回回购

permissions:
packages: write
contents: read

确保你删除了这个或授予你的动作内容:如果你需要推送一个标签或提交发行说明和包碰撞,写许可。

当我试图推到我以前访问过的私人回购时,我遇到了这个错误。问题不在于回购是私有的还是公共的,问题在于Github API现在使用个人令牌而不是用户名和密码进行身份验证和授权。

以下方法解决了我的问题:

  1. 删除远端原点:git remote remove origin

  2. 生成个人令牌:您可以在Github文档中找到说明。

  3. 重新添加原点,但使用您的用户名和生成的令牌:

# EYZ0

<强>注意: 如果在创建和使用令牌一段时间后遇到此问题,请确保令牌没有过期。如果是,重新生成它,并确保对使用旧令牌的回购重复第3步(如上所述)。同样,如果你改变了你的令牌,为使用旧令牌的repo重做步骤3

我的问题是我创建了一个没有权限的个人开发人员令牌

我通过Github重新认证解决了这个问题。

如果你有Github CLI,你可以输入gh auth login

在我的情况下,这是由git使用错误的ssh私钥引起的。 我在学校使用的特定github用户帐户下获得了访问存储库的权限。我的默认ssh私钥不幸链接到一个不同的github帐户

如果您使用ssh -T git@github.com ssh将自动使用您的id_rsa私钥连接到github。

使用ssh -i ~/.ssh/<some-key> -T git@github.com应该导致github欢迎您与您链接到该密钥的帐户。

所以在我的情况下发生的是,git正在使用我的默认ssh私钥,该私钥链接到错误的github帐户,该帐户没有访问我试图访问的私有存储库。

为了解决这个问题,我告诉git使用正确的ssh命令在本地git配置我的repo使用命令:git config core.sshCommand "ssh -i ~/.ssh/<correct private key here>"

查看git配置git config -l应该会显示行被正确添加。

在执行此操作之前,请确保您拥有对回购的写权限。如果您仍然得到错误,请执行以下操作:

  1. 从您的帐户从设置>生成一个个人访问令牌;开发人员设置>个人访问令牌。把代币放在安全的地方。

  2. 进入您的存储库并运行以下命令:

    # EYZ0

  3. 然后添加一个新的原点和你的用户名:

    # EYZ0

  4. 现在,当您按下代码时,将显示提示,要求您输入密码或个人访问令牌。将我们在第一步中生成的令牌粘贴到字段中,就完成了。

我的解决办法是:

git remote rm origin
git remote add origin https://USERNAME@github.com/username/reponame.git

类似于Emi-C的答案,但没有密码。

这个答案是特定于IntelliJ产品的,例如在使用组织时使用IDEA / WebStorm / PHPStorm

我有这个问题与WebStorm时,试图推动到一个存储库的一部分 一个组织,同时推送到我正常范围内的存储库

此外,用IntelliJ IDEA推送到我的组织存储库也起作用了

所以我认为这只可能是与两个ide之间不同的设置有关,我发现我有“使用凭据帮助”复选框;WebStorm中启用,IDEA中禁用。

enter image description here

禁用凭据助手使其工作!!

如果您确定已经拥有对这个存储库的SSH访问权限。

git clone https://myusername@github.com/path_to/myRepo.git

在使用MacBook Pro时遇到了同样的问题。

当我尝试克隆一个存储库时,我得到以下错误:

git clone https://github.com/mytech/mytech_frontend.git


Cloning into 'mytech_frontend'...
remote: Repository not found.
fatal: repository 'https://github.com/mytech/mytech_frontend.git/' not found

# EYZ0:

问题是我已经在我的电脑上设置了我的个人GitHub帐户,我试图克隆的存储库是个人的私人存储库(而不是团队帐户)。

我所要做的就是通过进入项目的设置来添加我的个人Github帐户作为仓库的合作者之一。之后我就可以克隆这个项目了。

我试了所有的办法,但似乎都不管用。进一步的研究表明:

  1. 在这里是一个解决问题的综合方法。
  2. 当您到达5. 修复4时,注意VS代码将要求身份验证。

如果您输入了密码,仍然得到身份验证错误,请执行以下操作。

  1. 转到你的GitHub菜单做设置→开发人员设置->个人访问令牌->生成新令牌。并确保这些框都是按照下图选中的。生成一个访问令牌并将其保存在可访问的地方。# EYZ1
  2. 使用生成的令牌而不是密码。
  3. 然后继续执行步骤6. 修复5 < / >

这些步骤可以在事后解决问题。

eval "$(ssh-agent -s)"

这是我自己的回购——应该有足够的使用权。对于其他回购,我能够拉&推一下没问题。这个问题通过重新开始ssh-agent来解决。我用macos。

对我来说,这些回复都没用。 我只是忘记在远程(github.com)上创建回购。所以我在网上创建了我的repo,使用相同的名称,然后重新做

所以,这是整个故事:

git init ...
git add ...
git commit ...
git remote add origin git@github.com:<myName>/<myRepo>.git
git push -u origin main


ERROR: Repository not found.
fatal: Could not read from remote repository.


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

——比;在这里,您需要在github.com上添加相同的“myRepo"的名字

git push -u origin main

在我的情况下,这是因为我在另一个GitHub帐户也添加了相同的SSH密钥。检查和修复步骤

  1. 检查它:ssh -T git@github.com。如果显示了正确的用户名,那么问题就不同了。如果是另一个帐户,则执行步骤2。
  2. 简单地去另一个帐户,并删除ssh密钥从那里。
  3. 不同的帐户使用不同的密钥。Github把它们搞混了。

Github在2021年8月13日删除了username和# eyz2的使用。现在改用personal tokens

为了克服这个问题,使用创建个人令牌生成personal token。并使用下面的代码片段来实现pushclone功能。

推动

git remote remove origin
git remote add origin https://[USER]:[TOKEN]@github.com/[USER]/[REPO]
git push

克隆

git clone https://[USER]:[TOKEN]@github.com/[USER]/[REPO]