git:致命的:无法从远程存储库读取
我正在设置与http://danielmiessler.com/study/git/#website git来pipe理我的网站。
我已经到了指令的最后一步:git push website + master:refs / heads / master
我正在使用win7中的git ming32命令行
$ git push website +master:refs/heads/master Bill@***.com's password: Connection closed by 198.91.80.3 fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
这里的一个问题可能是该程序正在寻找Bill@***.com。 当我通过SSH连接到我的网站时,我有一个不同的用户名(可以说'abc')。 所以也许这应该是abc@***.com。 如果是这样,我不知道如何改变这个,或者如果我可以推下一个别名
您可以指定SSH作为远程URL的一部分发送给远程系统的用户名。 在远程主机名之前放置用户名,后跟一个@
。
git remote set-url website abc@***.com:path/to/repo
确保在.git/config
有正确的url
url = git@github.com:username/repo.git
如果是第一次推送,则需要设置正确的上游
$ git push -u origin master
您可以检查使用哪个键:
$ ssh -vvv git@github.com
答复应该包含这样的内容:
debug1: Next authentication method: publickey debug1: Offering RSA public key: ~/.ssh/id_rsa ... You've successfully authenticated, but GitHub does not provide shell access.
也可以在~/.ssh/config
定义ssh的规则,比如基于别名:
Host github HostName github.com User git IdentityFile "~/.ssh/id_rsa" Host git HostName github.com User git IdentityFile "~/.ssh/some_other_id"
您可以设置连接到不同的端口,使用不同的用户名等每个别名。
我前一阵面临同样的问题
我的.git / config了
url = git@github.com:manishnakar/polymer-demo.git
我用它取代了
url = https://github.com/manishnakar/polymer-demo.git
它现在的作品:)
您的ssh密钥很可能已经从ssh代理中删除
ssh-add ~/.ssh/id_rsa
其中id_rsa是一个与git repo相关的ssh密钥
尝试使用未unset GIT_SSH
删除GIT_SSH环境variables。 这是我的问题的原因。
在做了一些研究后,我终于find了解决scheme,你已经为plink.exepath声明了一个环境variables。 所以,如果你删除该path,重新打开git bash,并尝试通过SSH克隆它将工作。
参考这个链接
这通常是由于SSH密钥与远程不匹配造成的。
解决scheme:
-
转到terminal,input以下命令(Mac,Linux)replace您的电子邮件ID。
ssh-keygen -t rsa -C“you@email.com”
-
使用以下命令从字ssh开始复制生成的密钥。
cat〜/ .ssh / id_rsa.pub
- 将其粘贴到你的遥控器的github,bitbucket或gitlab中。
- 保存。
确保ssh-agent正在运行:eval“$(ssh-agent -s)”
https://help.github.com/articles/generating-ssh-keys/#step-3-add-your-key-to-the-ssh-agent
我有同样的问题。
这个错误意味着你没有指定你的代码将被推送的远程URL位置。
您可以通过2种方式(主要)设置远程URL:
-
通过在Git Bash上执行命令指定远程URL。
-
导航到您的项目目录
-
打开Git Bash
-
执行命令:
-
git remote set-url origin <https://abc.xyz/USERNAME/REPOSITORY.git>
-
-
-
直接在configuration文件中提到远程URL
-
导航到您的项目目录
-
移动到.git文件夹
-
在文本编辑器中打开configuration文件
-
复制并粘贴在下面的行
-
[remote "origin"] url = https://abc.xyz/USERNAME/REPOSITORY.git fetch = +refs/heads/*:refs/remotes/origin/*
-
-
有关更多详细信息,请访问此链接 。
在你的.git / config文件中
[remote "YOUR_APP_NAME"] url = git@heroku.com:YOUR_APP_NAME.git fetch = +refs/heads/*:refs/remotes/YOUR_APP_NAME/*
简而言之
git push YOUR_APP_NAME master:master
我有同样的错误。 解决scheme如下:我更正了我的URL在.git/config
。 刚刚从HTTPS克隆URL复制。 那会是这样的:
url = https://github.com/*your*git*name*/*your*git*app*.git
有效。
在我的情况下,我用一个密码的SSH密钥用github进行身份validation。 我没有在Windows中正确设置选播(仅在cygwin中)。 缺less的步骤是将git_ssh环境variables指向plink.exe。 另外,您需要将github.com放入plink known_hosts。
plink github.com y <then ctrl-c>
希望这可以帮助!
我当然希望intellij会给我一个更有用的错误,或者更好的是要求我inputssh密码。
另一个解决方法:
由于networking问题,有时会发生在我身上。 我完全不了解根本问题,但切换到不同的子networking或使用VPN解决了这个问题
对于我的情况,我在办公室使用公司networking(没有互联网连接)。 为了从github中提取代码,我在gitbash中设置了https代理,然后使用https而不是ssh来提取代码,它工作正常。 但是,当推送代码时,https代理将无法工作。 所以要么切换到互联网networking(与互联网连接)或设置SSH代理可以解决这个问题。
其实我尝试了很多东西来使它在Win7上工作,因为改变SSH exectun fron native来构build它,向后和相同的错误。 偶然的,我把它改成“.git / config”文件中的HTTPS:
[remote "origin"] url = https://github.com/user_name/repository_name.git fetch = +refs/heads/*:refs/remotes/origin/*
终于奏效了 所以也许它可以为你工作。
对于那些在私人远程回购中有这个问题的人。 确保你已经接受了远程服务器上的Xcode协议:花了我们几周的时间才find这个修复
从命令行使用这个命令:sudo xcodebuild -license
我只是想补充这个问题。 我有Git安装使用PLINK和Pageant进行身份validation,我也遇到了错误FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
。 我打开了选美赛,但错误仍然显示出来。 问题? 我没有在Pageant中加载私钥(要添加一个密钥,请按照这些说明 )。 这很简单。
我只是想分享一下,我发现一个简单的解决scheme:
拒绝访问。 致命的:无法从远程存储库读取。 请确保您拥有正确的访问权限并存在存储库。
只需从gitlab注销并再次login。 这些问题应该得到解决。
当使用putty / pageant时,确保你没有忘记给pageant添加正确的SSH密钥,否则这个错误会显示出来。 DUH
在我的情况下,这是postBuffer ..
git config --global http.postBuffer 524288000
供参考阅读: https : //gist.github.com/marcusoftnet/1177936
转到MINGW32terminal把这个命令:git branch –set-upstream-to = origin /(branch Name)
如果你仍然得到相同的错误,请确保在git settings-> ssh tab-> ssh客户端中使用设置为openSSH
我有同样的错误,这使我对这个答案没有帮助。 我试图创build一个新的“裸”存储库第一次使用下面的命令来跟踪到一个NTFS的位置:
cd myrepository git init --bare \\myserver.mycompany.local\myrepository.git git init git status git add . git status git commit -m "Initial Commit" git remote add origin \\myserver.mycompany.local\myrepository.git git push -u origin master git status
我的问题原来是使用反斜杠而不是在NTFS位置的正斜杠,当试图添加原点设置(新)跟踪上游分支。
我必须使用以下命令删除原点:
git remote rm origin
然后使用预期的正斜杠再次添加原点
git remote add origin //myserver.mycompany.local/myrepository.git
希望这有助于未来的人。
我有同样的问题,过了一段时间,我看到我在root用户(与sudo -s)。 愿这有助于某人。
更换电脑后出现此错误。 我使用BitTool的SourceTree。
所以我必须在Bitbucket设置>安全性> SSH密钥中添加由SourceTree生成的SSH密钥,在新的计算机上连接到我的Bitbucket帐户。
据我的经验, 这个问题发生的原因之一是因为你有一个不稳定的互联网连接 。
我面临同样的问题; 只需在命令窗口中运行即可:
git remote add origin https:// your / repository / url
添加到“我有同样的问题和…”,我也使用git通过Ming32(git bash)shell在Windows中。
在我的情况下,回购需要我input一个密码,而不是使用SSH密钥,但它不是提示密码,只是说“致命的:无法读取…”,虽然我可以正常SSH,使用plink和SSH ,并设置了两个已知主机密钥。
我在这里和其他SO中尝试了大部分的build议。
我发现最后它在Powershell中工作正常 ,但没有在git bash中,没有任何更改或更正。
user@server:/etc/nginx$ cat .git/config ... [remote "origin"] url = git@gitlab.com:user/.git fetch = +refs/heads/*:refs/remotes/origin/* ...
1)使用ssh而不是htpps。 2)在git中使用ssh密钥(添加ssh密钥)。 3)如果你是root用户,使用ssh密钥。
$ sudo ssh-keygen $ cat /root/.ssh/id_rsa.pub $ git init $ git add file $ git commit -m "add first file" $ git remote add origin git@gitlab.com:user/example.git $ git push -u origin master
我也遇到了同样的问题,经过很多的尝试,我发现他们是无效的。 最后,我用了
$ git push origin master
有效!
强烈推荐网站: 一天学习git