场景信息
-
我的邮箱:xxxfish@qq.com
-
三个项目分别为:
-
project1
-
project2
-
project3
-
代码托管平台:开源中国(git.oschina.net)
第一步:生成公钥和私钥
ssh-keygen -t rsa -C "xxxfish@qq.com" -f ~/.ssh/project1
ssh-keygen -t rsa -C "xxxfish@qq.com" -f ~/.ssh/project2
ssh-keygen -t rsa -C "xxxfish@qq.com" -f ~/.ssh/project3
```
# 第二步:添加公钥到项目组中
> 三个项目的公钥分别是:
> * `~/.ssh/project1.pub`
> * `~/.ssh/project2.pub`,
> * `~/.ssh/project3.pub`
> 让对应项目组的管理员把对应的公钥文件的内容添加到代码托管平台对应的项目组中即可
![添加](https://img.haomeiwen.com/i994350/19150068ac5f09c8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
# 第三步:拿到项目的克隆地址
![获取地址](https://img.haomeiwen.com/i994350/39fa99bdc6eb34e2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
# 第四步:修改配置文件
## 编辑`~/.ssh/config`文件
> 该文件默认不存在
## 添加下面配置
> 从第三步中我们拿到了克隆的地址,格式一般为
> `git@git.oschina.net:XXX/PROJECT.git`
> 我们需要获取的信息就是:
> * `@前面的git`
> * `@和:之间的git.oschina.net`
> * `:和/之间的XXX`
> * `/后面的PROJECT`
```bash
Host project1name
Hostname git.oschina.net
User git
IdentityFile ~/.ssh/project1
Host project2name
Hostname git.oschina.net
User git
IdentityFile ~/.ssh/project2
Host project3name
Hostname git.oschina.net
User git
IdentityFile ~/.ssh/project3
```
> **结合克隆地址的格式来看:**
> `Host`是随意的别名
> `Hostname`对应的是`@和:之间的git.oschina.net`
> `User`对应的就是`@前面的git`
> `IdentityFile`对应的是公钥文件,不带文件扩展名
# 第五步:克隆项目
> 项目克隆的命令是:
```
git clone `Host`:`XXX`/`PROJECT`.git
```
> * `Host`对应的就是第四步配置文件的别名
> * `XXX`对应的就是第三步中克隆地址中对应的XXX
> * `PROJECT`对应的就是第三步克隆地址中的`PROJECT`
网友评论