Git Push ERROR:未找到存储库

Jus*_*tin 306 git github git-push

我有一个很奇怪的问题gitgithub.当我尝试推动时,我得到:

git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我添加了遥控器:

git remote add origin git@github.com:account-name/repo-name.git
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

JT.*_*JT. 457

检查您是否具有读写访问权限.

Git错误消息具有误导性.我有类似的问题.我被添加到现有项目中.我克隆了它并进行了一次局部改变.我去推,得到了ERROR: Repository not found.错误信息.

将我添加到项目中的人给了我对存储库的只读访问权限.由他们改变,我能够推动.

  • 一定要喜欢那些有用的Git错误消息.找不到我刚刚克隆的存储库,对吧?说谎者. (248认同)
  • 谢谢!您可以通过在Web上查看项目并单击"新建文件"来检查 (15认同)
  • @GrantBirchmeier我想赞成你的评论100次. (9认同)
  • 所以对我来说,我的密码中有一个 `(勾号)并且 PhpStorm 在发送 git push 之前删除了这个字符:让我们说这个例子我的密码是 `_pa``ssword_` Phpstorm 将输出以下内容:`https:/ /_username_:_password_@github.com/_username_/repo.git` 而不是 `https://_username_:_pa``ssword_@github.com/_username_/repo.git` 将密码更改为不使用 ` 字符的内容。作品!!! (3认同)

Geo*_*ous 113

我遇到了同样的问题,我通过在repo url中包含我的用户名和密码解决了这个问题:

git clone https://myusername:mypassword@github.com/path_to/myRepo.git
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说只是添加了我的用户名:`https:// myusername @ github.com/path_to/myRepo.git` (23认同)
  • 这是有效的,但当然很多人会认为这是一个安全问题; 谨慎使用 (4认同)
  • 截至 2021 年 8 月 13 日,github 不再支持此方法,因此此方法将不起作用。 (3认同)
  • 作为我原来评论的后续,一旦你成功推送一次,你可以使用`git remote set-url origin url`命令将你的原始URL更改为没有用户名和密码的相同内容,然后它就可以工作了美好的。 (2认同)
  • 你刚刚救了我的好朋友!干杯! (2认同)

Dr.*_*ist 64

当我尝试推送到我之前可以访问的私人存储库时,我遇到了此错误。问题不在于存储库是私有的还是公共的,问题在于 Github API 现在使用个人令牌而不是用户名和密码进行身份验证和授权。

以下解决了我的问题:

  1. 删除远程源:git remote remove origin

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

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

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

注意: 如果您在创建和使用令牌一段时间后遇到此问题,请确保令牌未过期。如果是,请重新生成它,并确保对使用旧令牌的存储库重复步骤 3(如上所述)。另外,如果您更改了令牌,请对使用旧令牌的存储库重新执行步骤 3。

  • 极好的!这是唯一对我有用的东西,谢谢! (8认同)
  • 这就是解决方案,不知道为什么它没有得到更多的支持。 (5认同)
  • 这也对我有用,有一个私人存储库。 (2认同)
  • 高手!这也解决了我的提交问题,显示我的 GitHub 帐户都存储在 IntelliJ 中,现在它只显示我为该项目选择的帐户 (2认同)

小智 61

我得到了同样的错误

ERROR: Repository not found.   
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

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

我能够通过打开.git/config并删除该[remote "origin"]部分来解决.

[remote "origin"]   
   url = git@github.com:alexagui/my_project.git  
   fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

然后我跑了以下(再次)

git remote add origin git@github.com:alexagui/my_project.git  
git push -u origin master
Run Code Online (Sandbox Code Playgroud)

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

  • 你能解释一下如何打开.git/config并删除[remote"origin"]部分? (3认同)

Emi*_*i-C 61

我有同样的问题,私人回购.

请执行下列操作:

删除远程原点

git remote rm origin
Run Code Online (Sandbox Code Playgroud)

重新添加原点,但使用您的用户名和密码,并在此pvt repo上具有写入权限

git remote add origin  https://USERNAME:PASSWORD@github.com/username/reponame.git
Run Code Online (Sandbox Code Playgroud)

  • 用户名和密码不再有效,您必须使用[个人访问令牌](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating- a-personal-access-token),就像 `git remote set-url origin https://PERSONAL_ACCESS_TOKEN@github.com/username/reponame.git` (22认同)
  • @AnupamChugh你需要在密码中用'%40'替换'@'.基本上你可以通过运行JS代码`encodeURIComponent(password)`来检查 (8认同)
  • 如果密码有@怎么办? (7认同)
  • 谢谢你,没有任何麻烦,它有帮助! (3认同)
  • @Fewture它仍然有效,只需将密码替换为Github令牌,如何生成个人访问令牌:https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data -安全/创建个人访问令牌 (3认同)
  • 我建议使用凭证助手而不是将密码以纯文本形式存储:https://help.github.com/articles/caching-your-github-password-in-git/ (2认同)
  • 最后!抓住是为私人回购。如果您有一个私有存储库,并按照Git集线器说明将现有存储库从Xcode中的本地存储库推送到Github中的远程存储,则可以解决此错误:`$ git push -u origin master remote:未找到存储库。致命:找不到存储库“ https://github.com/teksunios/Abc.git/”。 (2认同)
  • 或者通过运行“gh auth login”来执行浏览器登录流程 (2认同)

San*_*ues 30

如果您在Windows上使用Git ,请尝试清除您的凭据:

  1. 找到"凭据管理器"(应该在您的控制面板中)
  2. 删除与GitHub相关的所有凭据

在此输入图像描述

  • 很好-感谢您的成功提示!顺便说一句,使用以下命令,您可以直接导航到凭据管理器:“ control.exe / name Microsoft.CredentialManager” (3认同)
  • 这有效,我在 github 上有另一个帐户导致了问题 (2认同)

Mat*_*ani 24

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

如果您的密钥丢失,您可以添加它

ssh-add ~/.ssh/your_key
Run Code Online (Sandbox Code Playgroud)

  • 我更改了我的github帐户,因此不得不更改现有的ssh密钥.你的修复就行了,谢谢! (2认同)

kri*_*yaa 23

Github于 2021 年 8 月 13 日删除了username和的使用。现在改为使用passwordpersonal tokens

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

git remote remove origin
git remote add origin https://[USER]:[TOKEN]@github.com/[USER]/[REPO]
git push
Run Code Online (Sandbox Code Playgroud)

克隆

git clone https://[USER]:[TOKEN]@github.com/[USER]/[REPO]
Run Code Online (Sandbox Code Playgroud)

  • 这应该是正确/接受的答案,我们还可以在全局配置文件中添加凭据 (2认同)

Nik*_*ola 21

我遇到了类似的问题.不正确的凭据缓存在OS X的密钥链中.

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

  • 同样的问题.当访问私人仓库时,我得到`remote:未找到存储库.这是因为仍然使用旧凭据连接到repo(即使在本地git配置中使用新的凭据).修复1)从钥匙串中删除密钥.2)再次在终端中执行命令.3)应该要求输入用户名和密码. (3认同)
  • 这为我解决了这个问题.在钥匙串中识别凭证,通过Github GUI获得一个新的个人访问令牌,然后关闭并运行,谢谢. (2认同)

小智 18

git remote rm origin
git remote add origin <remote url>
Run Code Online (Sandbox Code Playgroud)


Gal*_*har 14

我正在使用Mac而且我很难找到解决方案.我的远程地址是正确的,如上所述,这是凭据问题.显然,过去我在我的电脑上使用了另一个Git帐户,并且mac的Keychain记得以前帐户的凭据,所以我真的没有被授权推送.

怎么修?在Mac上打开Keychain Access,选择"All Items"类别并搜索git. 删除找到的所有结果.

现在去终端并尝试再次推送.终端将要求输入用户名和密码.输入新的相关凭证,就是这样!

希望它能帮助别人.我挣了几个小时.

  • 谢谢谢谢谢谢谢谢谢谢谢谢谢谢!!!!!我已经用头撞墙了。 (2认同)

Joh*_*web 9

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.
Run Code Online (Sandbox Code Playgroud)

“正确的访问权限?”

那么你为什么不这么说呢?

值得注意的是,尽管在这种情况下SSH失败模式稍微好一些,但我使用SSH 上的 HTTPS远程服务器,因为GitHub 建议使用SSH 上的HTTPS

我了解GitHub在某些情况下使用“未找到”的意思是“禁止”,以防止无意中发现私有存储库的存在。

需要身份验证的请求在某些地方将返回404 Not Found,而不是 403 Forbidden。这是为了防止私有存储库意外泄露给未经授权的用户。

- GitHub上

这是网上相当普遍的做法,实际上它的定义是:

404(未找到)状态代码表示原始服务器未找到目标资源的当前表示,或不愿意透露该资源的存在。

- 6.5.4。找不到404,RFC 7231 HTTP / 1.1语义和内容(重点是我的)

对我来说没有意义的是,当我使用凭据帮助程序 通过GitHub进行身份验证 并且可以访问该存储库(已成功克隆并获取该存储库)时,由于缺少写入权限,GitHub会选择向我隐藏其存在。

使用网络浏览器检查https://github.com/our-organisation/some-repository/,确认我没有对该存储库的写入权限。我们团队的GitHub管理员能够在短时间内授予我的团队写访问权限,而我能够推动分支发展。


Edu*_*kan 8

如果您属于Github中的组,请检查您是否具有写入权限.

  • 快速检查方法是单击"创建新文件".如果您收到一条消息"您正在项目中创建一个您没有写入权限的文件",那么您就没有写访问权限. (3认同)
  • 只需到你的git存储库并点击任何文件并尝试编辑它.如果你没有写访问权限,那么你会显示一些错误,比如"你正在尝试编辑文件......" (2认同)

Eya*_*rra 8

这解决了我的问题.

   git pull https://myusername:mypassword@github.com/path_to/myRepo.git
Run Code Online (Sandbox Code Playgroud)


小智 8

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

git config --global --unset credential.helper
Run Code Online (Sandbox Code Playgroud)


val*_*alk 7

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

只需去Github,创建一个新的repo,它会要求你添加一个README,不要添加它.创建它,您将获得有关如何推送的说明.

它类似于接下来的两行:

git remote add origin https://github.com/YOUR_USER/your-repo.git
git push -u origin master
Run Code Online (Sandbox Code Playgroud)


120*_*DEV 7

这对我有用:

1.遥控器

$ git remote rm origin
$ git remote add origin git@github.com:<USER>/<REPO>.git
Run Code Online (Sandbox Code Playgroud)

如果您的SSH密钥已在另一个github代理上使用,则可以生成一个新密钥.

2.生成新的SSH密钥

$ ssh-keygen -t rsa -b 4096 -C "web@github.com"
Run Code Online (Sandbox Code Playgroud)

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

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_github
Run Code Online (Sandbox Code Playgroud)

4.将新密钥添加到Github仓库.


avi*_*amg 7

问题:由于某种原因,Github 对您的存储库不熟悉。

错误:在 git cli 中提示如下:

远程:未找到存储库。致命:未找到存储库“ https://github.com/MyOrganization/projectName.git/

解决方案: 2 个选项

  1. Github 可能不熟悉您的凭据: - 第一个选项是使用正确的凭据克隆项目,user:password以防您忘记此凭据或生成 ssh 令牌并在您的 Github 中调整此密钥。又名git push https://<userName>:<password>@github.com/Company/repositoryName.git

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

转到 Github 上的 Repository -> Settings -> Collaborators & Teams -> Add Member/Maintainer your users -> 现在他们获得了提交和推送的权限


dav*_*ode 7

我在尝试从我以前连接到的私有存储库中提取的 MAC 上遇到了同样的问题。

我通过在 repo url 中包含我的用户名来解决它:

git remote set-url origin https://<YOUR_USER_NAME_HERE>@github.com/<YOUR_USER_NAME_HERE>/<REPO>.git
Run Code Online (Sandbox Code Playgroud)

然后我就可以从回购中拉出来了。

对于要克隆的新仓库:

git clone https://<YOUR_USER_NAME_HERE>@github.com/<YOUR_USER_NAME_HERE>/<REPO>.git    
Run Code Online (Sandbox Code Playgroud)

它会提示您输入该帐户的密码,之后您就可以开始了。


Joh*_*ner 6

一个问题,对于我在这里没有提到的一些人来说可能是显而易见的,可能是您使用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)
Run Code Online (Sandbox Code Playgroud)

请注意,上述工作假设:

  1. 您的当前远程命名origin,并且您已经生成了与您的github帐户连接的ssh密钥

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

  3. 您在github上为此repo的设置设置了正确的权限(读/写).


小智 6

我通过使用 Github 重新验证解决了这个问题。

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


Moh*_*out 5

您需要检查您的SSH访问权限,如下所示:

ssh -T git@github.com
Run Code Online (Sandbox Code Playgroud)

这个问题是因为我没有在存储库中的SSH上添加人员响应,请详细了解SSH的link-1link-2


sno*_*ity 5

遇到过同样的问题。多年来一切正常,然后突然出现此错误。

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

ERROR: Repository not found.
Run Code Online (Sandbox Code Playgroud)

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


Sté*_*ane 5

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

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

ssh -T git@github.com
Run Code Online (Sandbox Code Playgroud)

这给了我这样的答案:

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.
Run Code Online (Sandbox Code Playgroud)

然后我了解到答案中描述的 Github 用户 (github_account_name) 未在我试图拉取的 Github 存储库上获得授权。


zel*_*oba 5

如果有人在github.com上遇到问题,请检查您是否在回购所有者允许您提交之后接受了邀请.在您接受邀请之前,回购将对您不可见.所以你会得到ERROR: Repository not found.


Nam*_* VU 5

这是解决我的问题的方法

#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
Run Code Online (Sandbox Code Playgroud)


小智 5

我有同样的问题。尝试以下操作:

1. 在 Mac 中修改 Keychain Access 以获取 git 凭据为我解决了这个问题。
2. 重置原点网址

git remote rm origin
git remote add origin git@github.com:account-name/repo-name.git
Run Code Online (Sandbox Code Playgroud)


MrC*_*lan 5

如果您的存储库在此之前运行正常,并且突然弹出此错误,则很可能的原因是您的git已通过其他用户身份验证,该用户无权访问存储库。因此,为了进行推送,您所需要做的就是在git命令中指定正确的用户名和密码。因此,用于github存储库的push命令如下所示:

git push https://youruser:password@github.com/user/reponame.git
Run Code Online (Sandbox Code Playgroud)

username and password需要转义网址,因此@应该用%40代替,依此类推。


Nei*_*eil 5

如果您使用 github 从 github 克隆https但您使用的ssh是推送,您也会收到此错误。

要更正此问题,请打开.git/config并替换:

url = https://github.com/company/project.git

url = git@github.com:company/project.git

而且你应该能够在没有警告的情况下推动......


Saf*_*eer 5

我的 Github 存储库之一遇到了同样的问题。

绕路:

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


小智 5

我可以解释我是如何遇到类似情况的,然后列出我为解决此问题所采取的步骤。

我使用的是
Windows 10,
git:git 版本 2.27.0.windows.1。

我已经设置了 git 并正在进行 git 推送活动。Windows 凭据管理器存储用户名和密码,因此您不必在每个 git 远程活动中输入用户名和密码。

当我添加另一个 github 帐户并使用 --local git 设置时,遇到了这个问题。几天后,我遇到了存储库未找到的问题,经过调查我发现:

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

所以,如果你使用两个git帐户,你需要使用(git bash作为管理员)

git config --edit --system 
Run Code Online (Sandbox Code Playgroud)

并删除

helper = manager 
Run Code Online (Sandbox Code Playgroud)

行,使其不再注册为凭据助手。但每次您执行任何远程活动时,它都会询问您登录详细信息。

如何禁用 Windows 版 Git 凭据管理器?

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

git config --list --show-origin
Run Code Online (Sandbox Code Playgroud)


Mis*_*wyz 5

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


ric*_*cho 0

如果您提供您的用户名和存储库名称,我们可以合理地为您提供帮助,目前我们没有理由认为该存储库确实存在。

此外,如果存储库是私有的并且您无权访问它,github 会返回“不存在”以避免泄露私有存储库的存在。

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