我和git
和github
有一个非常奇怪的问题。当我尝试推动时,我得到:
git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
我添加了遥控器:
git remote add origin [email protected]:account-name/repo-name.git
有任何想法吗?
检查您是否具有读写访问权限。
Git错误消息具有误导性。我有一个类似的问题。我被添加到现有项目中。我克隆了它并进行了一次局部改变。我去推,并得到ERROR: Repository not found.
错误消息。
将我添加到项目中的人给了我对存储库的只读访问权限。由他们改变,我能够推动。
如果您属于Github中的组,请检查您是否具有写入权限。
有类似的问题。问题的根源在于我遵循了一些关于向Github添加新存储库的在线教程。
只需去Github,创建一个新的repo,它会要求你添加一个README,不要添加它。创建它,您将获得有关如何推送的说明。
它类似于接下来的两行:
git remote add origin https://github.com/YOUR_USER/your-repo.git
git push -u origin master
这解决了我的问题。
git pull https://myusername:[email protected]/path_to/myRepo.git
这对我有用:
1.遥控器
$ git remote rm origin
$ git remote add origin [email protected]:<USER>/<REPO>.git
如果您的SSH密钥已在另一个github代理上使用,则可以生成一个新密钥。
2.生成新的SSH密钥
$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
3.在SSH代理级别添加密钥
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_github
4.将新密钥添加到Github仓库。
一个问题,对于我在这里没有提到的一些人来说可能是显而易见的,可能是您使用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 [email protected]:private-repo.git
$ git remote -v
origin [email protected]:private-repo.git (fetch)
origin [email protected]:private-repo.git (push)
请注意,上述工作假设:
- 您当前的远程命名为
origin
,并且您已经生成了与您的github帐户连接的ssh密钥- 你已经有一个与你的github帐户关联的ssh密钥(并在本地连接)
- 您在github上为此repo的设置设置了正确的权限(读/写)。
当remote: Repository not found.
尝试推送到没有写入权限的HTTPS远程时,github可能是一个令人沮丧的误导性错误消息。
尝试将SSH远程连接到同一个存储库会显示不同的响应:
% git remote add ssh [email protected]: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.
“正确的访问权限?”
那么你为什么不这么说呢?
值得注意的是,虽然这种情况下的SSH故障模式略好一些,但我使用HTTPS远程通过SSH,因为GitHub recommend HTTPS over SSH。
我知道GitHub使用“Not Found”,在某些情况下意味着“禁止”,以防止无意中陶醉私人存储库的存在。
需要身份验证的请求将在某些地方返回
404 Not Found
,而不是403 Forbidden
。这是为了防止私有存储库意外泄露给未经授权的用户。
--GitHub
这是围绕网络的一种相当普遍的做法,实际上它是定义的:
404(未找到)状态代码表示源服务器没有找到目标资源的当前表示,或者不愿意透露存在该目标资源。
--6.5.4. 404 Not Found, RFC 7231 HTTP/1.1 Semantics and Content(强调我的)
对我来说没有意义的是当我使用credential helper对GitHub进行身份验证并且我可以访问该存储库(已成功克隆并获取它)时GitHub会因为缺少写入权限而选择隐藏其存在。
使用Web浏览器检查https://github.com/our-organisation/some-repository/确认我没有对存储库的写入权限。我们团队的GitHub管理员能够在短时间内授予我的团队写入权限,并且我能够推动分支机构。
如果有人在github.com上遇到问题,请检查您是否在回购所有者允许您提交之后接受了邀请。在您接受邀请之前,回购将对您不可见。所以你会得到ERROR: Repository not found.
以下为我解决了这个问题。
首先,我使用此命令来确定使用的github帐户是什么:
ssh -T [email protected]
这给了我一个这样的答案:
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_account_name)中描述的Github用户未在我试图提取的Github存储库上获得授权。
改变.git / config文件的内容有助于Alex如上所述。我遇到了同样的问题,我认为这是因为我更改了我的Github用户名。无法使用更改更新本地文件。因此,每当您更改用户名时,您可能会考虑运行
git remote add origin your_ssh_link_from_github
我希望这有帮助 ;)
我遇到了同样的问题,我通过在repo url中包含我的用户名和密码解决了这个问题:
git clone https://myusername:[email protected]/path_to/myRepo.git
我有同样的问题。请尝试以下方法: 1.修改Mac中的Keychain Access以获取git凭据为我解决了这个问题。 2.重置原始网址
git remote rm origin
git remote add origin [email protected]:account-name/repo-name.git
如果您的repo之前正常工作,并且突然出现此错误,则很可能是因为您的git被认证为其他用户无法访问存储库。因此,为了推送,您需要做的就是在git命令中指定正确的用户名和密码。因此,github repo的push命令看起来像:
git push https://youruser:[email protected]/user/reponame.git
username and password
需要被url转义,所以@应该被%40替换,依此类推。
如果您包含您的用户名和回购名称,我们可以合理地帮助您,目前我们没有理由认为回购确实存在。
此外,如果回购是私有的并且您无法访问它,则github将返回“不存在”以避免泄露私有回购的存在。
编辑:如果您无法克隆它,因为它说它不存在而且它是私有的,这是因为您没有发送身份验证。确保将公钥添加到密钥环中,或暂时使用HTTP基本身份验证。
我遇到了这个问题,并意识到我使用的是另一个帐户。以原始用户身份登录解决问题。
以下是如何解决我的问题
#check current github account
ssh -T [email protected]
#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 [email protected]:YOUR-USER/YOUR-REPO.GIT
git push -u origin master
如果使用私有存储库检查连接用户,则必须具有使用存储库的权限。
我有同样的问题。我的问题是误解我必须首先在github上创建空的repo然后推送它。卫生署!在这里包括这个没有意识到的任何人。
转到你的项目文件夹,然后搜索.git文件夹,然后用记事本打开配置文件并检查你的链接到github repo:[remote“origin”],如果它不同,那么你的github中的repo然后只需编辑它,或在配置文件中打开一个名为的新repo
遇到过同样的问题。一切都运作良好多年,然后突然这个错误。
问题是我在用户的github SSH密钥(我总是用来访问有问题的repo之前)之前为我的SSH代理添加了另一个repo的部署密钥。 SSH代理首先尝试使用部署密钥用于另一个repo,而GitHub因为一些完全无法解释的原因而说
ERROR: Repository not found.
一旦我从SSH代理中删除了部署密钥,一切都恢复正常。
我的解决方案可能对你们有些人有用。
将macbook OS更新为Yosemite后,我遇到了同样的错误。我的问题通过重新创建我的ssh密钥得到修复。您可以按照本页的第2步执行此操作:qazxsw poi
我得到了同样的错误
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
我在Github上创建了存储库并在本地克隆了它。
我能够通过打开.git / config并删除[remote "origin"]
部分来解决。
[remote "origin"]
url = [email protected]:alexagui/my_project.git
fetch = +refs/heads/*:refs/remotes/origin/*
然后我跑了以下(再次)
git remote add origin [email protected]:alexagui/my_project.git
git push -u origin master
这次我能够推送到存储库。
我需要杀死凭证 - 帮助程序进程(多个),并在再次提供凭据后解决了问题。
我有同样的问题,私人回购。
请执行下列操作:
删除远程原点
git remote rm origin
重新添加原点,但使用您的用户名和密码,并在此pvt repo上具有写入权限
git remote add origin https://USERNAME:[email protected]/username/reponame.git
我得到了这个错误(但之前工作)。我的问题是缺少与Github帐户绑定的ssh密钥。您可以使用ssh-add -l
检查当前的ssh密钥。
如果您的密钥丢失,您可以添加它
ssh-add ~/.ssh/your_key
我遇到了类似的问题。不正确的凭据缓存在OS X的密钥链中。
退房:https://help.github.com/articles/updating-credentials-from-the-osx-keychain
git remote rm origin
git remote add origin <remote url>
我正在使用Mac而且我很难找到解决方案。我的远程地址是正确的,如上所述,这是凭据问题。显然,过去我在我的电脑上使用了另一个Git帐户,并且mac的Keychain记得以前帐户的凭据,所以我真的没有被授权推送。
怎么修?在Mac上打开Keychain Access,选择“All Items”类别并搜索git。删除找到的所有结果。
现在去终端并尝试再次推送。终端将要求输入用户名和密码。输入新的相关凭证,就是这样!
希望它能帮助别人。我挣扎了好几个小时。