问题
我们发现,使用IDEA上的git功能,当使用ssh协议出现了可以commit但无法push和pull的问题,经过测试发现原因是Could not read from remsitory。直接翻译是 “远程仓库无法读取”。
为什么会无法读取呢?(ssh权限问题)
-
无法链接服务器? 可是,确认是可以连上服务器的。(保证连接github服务器) -
IDEA中git集成中使用的ssh方式问题 在网上看到,在Settings->Version Control->Git中,将SSH executable设置为Native即可,如图,红色方框中是要修改的地方。
在解决问题的过程中看到stackoverflow中是让更改“SSH executable” 方式为 Native,但仅仅这样是无效的 …
-
无法通过SSH的链接验证 所以可以通过创建ssh key 并将产生的id_rsa.pub的内容加到github的后台就可以解决问题了。
(1)产生key,在这个过程 中,可以添加“你的github账号名”
ssh-keygen -t rsa -C “你的github帐号名或者邮箱”`
eg:输入:ssh-keygen -t rsa -C “ly@itcast.cn”
生成过程采用默认方式,直接按enter键到生成id_rsa,id_rsa.pub
将生成的id_rsa.pub中的内容添加到相应的git服务器,需要放置到个人帐号中的仓库里
注意:这里需要重新生成key!!!!!
(2)加key
首先创建仓库mytest_ssh
最后,对mytest_ssh进行可写操作,并添加公钥的key
在mytest_ssh仓库中选择settings,添加add deploy key
(1):添加公钥的key
(2):勾选允许可写操作
添加完成:
如果报错说,当前key已经存在,需要删除
push命令
创建git_day01_demo工程,测试push到远程仓库,即可:
注意,在使用ieda进行SSH协议上传的时候,保证在.ssh文件中存在known_hosts文件,这样才可以进行交互,否则权限会依然不足
可以使用:git bush
clone命令
选择VCS—>Checkout from Version Control—>GitHub
使用ssh协议
此处使用ssh形式的url,点击“test”按钮后显示连接成功
点击OK按钮后根据提示将远程仓库克隆下来,然后导入到idea中
这里点击“No”,我们再使用idea导入目录下的项目即可。
使用idea–>Open
pull命令
使用pull命令
Could not read from remote repository 的解决办法
https://blog.csdn.net/Leolu007/article/details/79129446
|