写点什么

Git 多用户多仓库配置 windows10

用户头像
halapano
关注
发布于: 2020 年 05 月 27 日
Git 多用户多仓库配置 windows10

> 本文主要介绍在win10 环境下,同一台电脑上有多个git账户来管理不同平台的远程仓库如github, gitlab, gitee.



假设我们现在有两个账户:

- 账户1:name1 + name1@email.com 用来管理github的账户

- 账户2:name2 + name2@emial.com 用来管理gitlab的账户



S1. 生成公私key.

- 安装好git bash后,使用命令:

```

ssh-keygen -t rsa -C "name1@email.com"

```

- 根据命令提示生成对应的key, id_rsa_name1

同样的方法生成对应的key, id_rsa_name2

- 注意生成的key默认存放在Git的安装目录下,我的在(C:\Program Files\Git 下), 需要把生成的公私匙都移动到家目录的.ssh 文件夹中

S2. 添加公匙到相应的git平台

- 复制id_rsa_name1.pub 里的内容到github, ssh key 当中。

- 复制id_rsa_name2.pub 里的内容到gitlab, ssh key 当中。

S3. .gitconfig配置(关键步骤)

- 我们直接使用.gitconfig来管理不同的账户

- 首先确定好本地working 项目放置在哪个文件夹,比如我在本地E 盘下创建两个文件夹name1_repo 和name2_repo, name1_reop 用来放与github对应的项目,name2_repo用来放与gitlab对应的项目

- 在家目录下(.ssh文件夹的上级目录)下创建两个文件夹gitconfig_name1 和gitconfig_name2

- 分别在每个文件夹中创建一个 .gitconfig文件

- 每个文件里写:



```

[user]

name = name1

email = name1@email.com

[core]

sshCommand = "ssh -i ~/.ssh/id_rsa_name1"

```

- 在gitconfig_name2文件夹下当然就和上面对应改成name2就好了

- 回到家目录下再新建一个.gitconfig文件,如果已经存在了就把旧的改个名称比如bak.gitconfig. 在新的.gitconfig文件中写:



```

[includeIf "gitdir:E:/name1_repo/"]

path = ~/gitconfig_name1/.gitconfig

[includeIf "gitdir:E:/name2_reop/"]

path = ~/gitconfig_name2/.gitconfig

```

- 写上面的文件要注意第一个冒号后面"gitdir:"不能有空格,不然识别不到指定的文件夹路径

- 我试了一下把不同配置用文件区分而不是文件夹区分,比如新建一个gitconfig文件夹,然后在里面创建两个.gitconfig_name1 和.gitconfig_name2 没有成功,如果您这样配置成功了,欢迎留言讨论呀

- 如果想只在一个文件下使用特别的账户比如name2, 而在其余文件夹下都使用name1.可以修改家目录下的.gitconfig文件

```

[user]

name = name1

email = name1@email.com

[core]

sshCommand = "ssh -i ~/.ssh/id_rsa_name1"

[includeIf "gitdir:E:/name2_reop/"]

path = ~/gitconfig_name2/.gitconfig

```

- 这样默认就使用name1, 只在name2_repo下使用name2. 注意全局的要写在前面,如果写在name2后面了,会覆盖前面的配置。

- 保存各个文件,测试一下

测试

- 分别在github和gitlab中新建test_repo测试仓

- 进入E:/name1_repo, 鼠标右键, 打开git bash

- 使用远程仓的ssh链接,git clone 到本地, 如果能clone下来就证明配置成功了。使用同样的方法测试一下gitlab, clone,push命令等等。

总结

- 这种配置的关键点是在不同的项目文件夹中使用不同的账户配置。

- 这是我第一次写技术文档,不足之处还请多多指点。

参考

- https://dev.to/arnellebalane/setting-up-multiple-github-accounts-the-nicer-way-1m5m

- https://stackoverflow.com/questions/4220416/can-i-specify-multiple-users-for-myself-in-gitconfig

发布于: 2020 年 05 月 27 日阅读数: 110
用户头像

halapano

关注

NEVER GIVE UP 2020.05.25 加入

初级算法工程师,机械转行软件,三年种云杉

评论

发布
暂无评论
Git 多用户多仓库配置 windows10