文章目录
- 一、简介
- 二、实现流程
- 1. 生成公钥和私钥
- 2、在Gitee上创建仓库
- 3、GoLand的连接Gitee
- 4、上传
实现本机与Gitee码云之间的免密码登录,通过SSH协议,用于通过Git与远程仓库进行通信,将本地仓库推送到远程仓库
参考:gitee github 远程仓库的免密登录(ssh) (ps:该博客介绍了更多的细节,非常详细)
一、简介
http和ssh方式的区别
- 常用的克隆项目的方式为
http
,这种方式允许直接下载项目,当需要push
代码到远程仓库时,每次都要输入项目的账号密码以进行身份验证,,git
安装以及集成IDEA
或者GoLand
,并通过http
方式连接gitee
、gitHub
或gitlab
,可参考本人另一篇博客:Git集成IDEA并连接GitLab - 使用
ssh
方式连接远程仓库后,无论是下载项目还是push
代码到远程仓库,都不需要输入项目的账号密码
ssh连接方式只允许与远程仓库搭建了SSH的电脑实现
想要通过SSH
这种连接方式克隆项目到本地,需要当前电脑和远程仓库搭建起SSH
连接,搭建之后可以使用ssh
连接clone
项目,但是如果希望push
代码,那只能是项目的拥有者能执行
要成为项目的拥有者很简单,首先项目和远程仓库的账号绑定,只需要在一台或多台电脑上生成公钥和私钥,然后把公钥配到远程仓库的账号,那么这一台或多台电脑就能与账号搭建起SSH
连接,此时这一台或多台电脑就能拥有远程仓库的账号下所有的项目(如多个同事的电脑会连接到远程同一个仓库下,协同开发)
二、实现流程
1. 生成公钥和私钥
ssh-keygen -t rsa # 该命令为自动为sshkey生成一个名字
或者
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # xxxxx@xxxxx.com 只是生成的 sshkey 的名称,在Gitee上配置公钥时会自动显示出来
在电脑上安装git
后,可以在桌面右键打开git bash
界面
在用户目录下多出了.ssh
文件,如下
用记事本或者其他工具打开公钥,复制内容,配置到gitee
2、在Gitee上创建仓库
点击新建,后续可以根据提示,配置到仓库名字,许可证等信息
本人创建仓库如下
3、GoLand的连接Gitee
复制远程仓库的ssh
链接
GoLand
集成git
后,可以按如下方式clone
注意:如果git
第一次配置ssh key
,那么可能clone
时会如下报错,这个错误弹出会让我们选yes
还是no
,我们选yes
就可以了,原因是.ssh文件夹下缺少known_hosts文件,正常如下,点了yes后会出现的
The authenticity of host '。。。。' can't be established.
ED25519 key fingerprint is SHA256:k4ViHJBFryacGI+BqHphyjDBaRLwt5eSGRMJGt8CmV0.
This key is not known by any other names
点了yes
后
4、上传
做完上面的步骤后,我们就可以add,commit,push,pull
等操作了
如下,添加了main.go
文件,我们将其上传到gitee