github、gitee创建、连接、克隆远程仓库及生成、配置SSH公钥
1、安装git、注册guthub账号、注册码云账号,此过程不再赘述
2、在github和码云分别创建一个仓库,用于测试
2.1、github操作:
2.1.1、点击头像左侧加号,展开后选择 New repository
(新建仓库)
2.1.2、填写仓库名称、描述、选择仓库类型(一般选择公开,私密的需要收费)、勾选readme,最后点击生成仓库
2.1.3、点击创建后,生成仓库如下所示,只有一个readme文件
2.1.4、将远程仓库克隆到本地
方法一:使用HTTPS方式,该方式就像下载东西一样,有一个HTTPS地址就可以
如上图所示,就是HTTPS地址
在本地电脑新建一个文件夹
进入文件夹内,右键选择Git Bush Here
然后就会自动打开git命令窗口
在窗口内输入命令git clone “HTTPS地址”,然后敲回车键
注意:请保证的远程仓库类型为public,否则这里需要输入你的github账号和密码
出现上面的界面,则表示克隆成功,回到本地电脑刚才的目录
可以看到,本地的文件夹内多了一个clone-test文件夹,且该文件夹内部与远程仓库一模一样
方法二:使用SSH方式,这里就要需要SSH地址了
可以发现,SSH的地址与HTTPS不一样
我们回到本地电脑上新建的文件夹内,删除刚才克隆下来的仓库,然后重复上面的步骤,只是将HTTPS地址换成SSH地址
The authenticity of host 'github.com (192.30.*.112)' can't be established.
有道翻译:主机‘github.com(192.30.XXX.112)’的真实性无法确定。
Are you sure you want to continue connecting (yes/no)?
有道翻译:你确定要继续链接吗?
输入 yes 回车
Could not read from remote repository.
有道翻译:无法从远程存储库读取。
Please make sure you have the correct access rights and the repository exists.
有道翻译:请确保您拥有正确的访问权限和存储库存在。
看这样不行,我们需要配置SSH
首先生成SSH公钥和密钥,进入如下路径,一般在C盘用户目录下,红色部分为你的电脑用户名
右键Git Bush Here
,输入命令ssh-keygen -t rsa -C "你的email地址" -f "自定义的密钥文件名"
代码参数含义:
-t指定密钥类型,默认是rsa,可以省略。
-C设置注释文字,随便写,比如邮箱。
-f指定密钥文件存储文件名。
如果省略-f参数,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的SSH key代码,如:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成id_rsa和id_rsa.pub两个秘钥文件。
接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码
),当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到Git服务器上了,如:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
接下来,就会显示如下一些提示,如:
Your identification has been saved in /c/Users/you/.ssh/id_rsa.
Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db 你的email地址
当你在Git Bash上看到这段显示的时候,那就说明,你的SSH key已经创建成功,你只需要添加到Git服务器上的SSH key上就可以了
点击头像,展开后选择Setting
找到生成的公钥文件,打开后复制里面的所有内容,粘贴到github的Key里面
现在我们再次尝试clone远程仓库
我们发现还是不行,那我们测试下一喀巴能不能连通github,` ssh -T [email protected]
`
还是不行,那我们查看一下具体信息,到底哪里出了问题ssh -T -v [email protected]
可以看到它一直在查找这几个文件,id_rsa
和id_dsa
这是默认的公钥和密钥文件名,而我在生成的时候重新命名了公钥和密钥的名称,所以它找不到了,那我们我们就需要配置一下告诉他该去找哪个文件
我们在ssh文件夹下执行touch config
,生成一个config文件,在后在文件内写入
现在再次尝试链接
链接成功
我们再次尝试clone远程仓库
至此,大功告成
码云操作与github基本相同,注意的是,要再生成一份密钥和公钥,并且需要配置config文件