SourceTree使用SSH方式连接本地以及GitLab仓库

6,314 阅读3分钟

由于最近电脑非常卡,所以索性重装了系统,其中使用云盘装机助手和Microsoft toolkit,在半个小时之内就完成了重装,重装的是官方专业版,且并无安装垃圾软件,速度也是杠杠的,Microsoft tooklit主要是用来激活Win10,也是杠杠的,特此记录为证。,

系统盘清空之后带来一个后果就是原来原本本地仓库与公司GitLab仓库失联,SSH公私钥丢失。这里纪录下重连过程,以备后用。

第一步:全局安装Git,配置Git用户名邮箱信息;

直接在命令行输入以下命令:

git config --global user.name "xxx"

git config --global user.email "xxx.mail@xxx.com"

第二步:生产SSH公私钥;

直接在命令行输入以下命令:

ssh-keygen -t rsa -C "xxx.mail@xxx.com"

按三次回车,设置密码为空;这时便会在c:User/Administrator目录下生成.ssh文件夹,里面包含公钥和私钥: 如图:

SSH文件

通过文件后缀可知.pub为公钥,接下来就可以将私钥配置到SourceTree了;

Mac下.ssh文件夹是默认隐藏的,使用【command + shift + .】快速切换显示隐藏文件:

command + shift + .

第三步:将私钥添加到SourceTree中:

选择SourceTree的 工具/选项/一般/SSH客户端配置/SSH客户端中选择OpenSSH选项,然后导入私钥文件,确认即可。 如图:

SourceTree配置私钥.png

第四步:将公钥配置到GitLab或其他Git仓库,这里以GitLab为例;

在GitLab中搜索SSH key,如图:

查找SSH key设置项.png
选择第一项点开,然后将id_rsa.pub文件使用记事本或其他文本编辑器打开,复制里面所有内容粘贴在GitLab的key输入框中,填写Title,点击添加即可,如图:
GitLab添加公钥.png

至此所有的配置工作就已经完成了,可以开始从代码仓库拉取代码了:

第五步:拉取仓库代码到本地; 在代码仓库中选择复制仓库的SSH连接,如图:

复制仓库SSH连接.png
在SourceTree中选择克隆/新建,粘贴仓库连接到Url,此时SourceTree会自动识别仓库,再选择本地存储路径,必须为空文件夹,点击克隆即可克隆仓库代码到本地,也可以通过SourceTree提交代码,管理分支,协作开发项目了。

使用经验:

1.每台电脑对应一对公私钥,不能混用,配置前需要先清理旧的密钥;

2.公私钥采用非对称加密,私钥一定要防止泄露;

非对称加密解密原理:

客户端要链接远程主机的时候,远程主机会向客户的发送一条随机的字符串,客户的收到字符串之后使用自己的私钥对字符串加密然后发送到远程主机,远程主机根据自己存放的公钥对这个字符串进行解密,如果解密成功证明客户端是可信的,直接允许登录,不再要求客户端登录。

3.使用http方式拉取代码到本地,不能推送代码到线上,协同开发,版本控制只能通过SSH方式连接本地和线上仓库;

4.SourceTree提交代码流程:先提交代码到本地仓库,再拉取线上代码,解决冲突,最后推送本地代码到线上;

如何,就可以愉快地撸代码了。

补遗----------

苹果电脑只需要配置GitLab上的公钥,不需要配置SourceTree的私钥