Android知识程序员工具癖

Git多个项目私钥管理

2017-03-13  本文已影响187人  Android开发哥

场景信息

第一步:生成公钥和私钥


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`
上一篇 下一篇

猜你喜欢

热点阅读