对于像我一样刚开始使用git工具的小白来说,对git还是有很多不熟悉的
其中,最让我纳闷的就是,当我们访问别人的库的时候的权限问题,最近我老师叫我克隆她的库,她给了我一个地址:git@github.com:CodeHubApp/CodeHub.git
结果提示没有权限,如下所示:
正克隆到 'CodeHub'...
ssh_exchange_identification: read: Connection reset by peer
fatal: 无法读取远程仓库。请确认您有正确的访问权限并且仓库存在。
解决方法是,自己在本地生成一个 ssh key,并将我的pub文件的内容发给老师,添加进老师的权限中,然后我就克隆成功了
疑问来了:大家不是都说,git库分两种,一种public不收费的,别人可以随便clone的,一种是private私有库嘛(陌生人不能访问)。。。。我可以保证我老师的库是共有库啊,那为什么我还需要权限,才能访问克隆下来呢?到底需不需要ssh权限????
原来是这样!::::
(1)github确实有公开库和私有库
(2)私有库必须有权限才可以克隆和修改
(3)公开库的克隆是可以不要权限的,但是你得找到长的像这样的地址:https://github.com/CodeHubApp/CodeHub.git
也就是说:
git clone https://github.com/CodeHubApp/CodeHub.git //这种方法不需要ssh key权限
git clone git@github.com:CodeHubApp/CodeHub.git //这种克隆方法,你需要把自己的key添加到别人的远程库里面
第二种方法,在我们想去克隆陌生人的库时,几乎是不可能的,解决方法就是,去github中找到别人的库,界面如下所示:
啊,原来,下载的时候是可以选择的, 如上所示,可以(1)下载zip格式,(2)可以保存 http链接,然后用git clone http......下载 (3)点击右上角的use ssh,的话,你就可以获得提示(Use an SSH key and passphrase from account.即从帐户使用ssh密钥和密码短语)。。。。。
原来,别人都和我们解释了,我才发现,,哈哈哈,为了避免有新手和我一样迷糊,在这里把这个经验分享给大家,希望能帮你们解惑