在windows上配置git支持多账号

2022-09-08 20:25:34 浏览数 (1)

1.背景

现在大多数人都采用git进行版本管理,在git下面进行开发被越来越多的程序员所接受。还有越来越多的人参与开源社区的建设。现在有一个问题就是,在windows环境下,如何在git客户端上通过ssh key的方式配置多个账号。不需要输入git的用户名和密码,使得更加方便高效。

2. SSH Key的生成

在windows上打开git的bash客户端命令行窗口:

之后执行ssh-keyget,生成rsa的公钥和私钥。

代码语言:javascript复制
 ssh-keygen -t rsa -C mail@mail.com

执行结果如下:

生成的文件命名为 id_rsa_gitlab 私钥的密码可以不用设置,也可以根据个人情况进行设置。生成之后,在所执行命令的目录下会生成两个文件:

代码语言:javascript复制
id_rsa_gitlab
id_rsa_gitlab.pub

这两个文件截图如下:

用其他的方式可以生成所需的公钥和私钥对。邮箱尽量和git账号的邮箱保持一致,这样也便于以后区分。

3.gitlab配置

在gitlab上,账户的Settings中进行配置:

在左侧的sshKey中:

将公钥中的文本内容copy到下列位置:

copy之后如下:

title可以自定义配置。

github中的配置也与上述类似:

添加ssh key:

  1. windows本地的git配置 首先需要将生成的公钥和私钥对,copy到当前用户的.ssh目录中去。
代码语言:javascript复制
windows中位于如下目录:
#windows
C:Usersusername.ssh
#linux
/home/username/.ssh

copy之后,,ssh中的文件:

其中,id_rsa是github的密钥对。id_rsa_gitlab是gitlab的密钥对。 config文件是本文的关键,这个文件需要手动新建,其内容如下:

代码语言:javascript复制
# 配置github.com
Host github.com                 
    HostName github.com
    IdentityFile C:\Users\username\.ssh\id_rsa
    PreferredAuthentications publickey
    User github_username

# 配置gitlab私服
Host git.xxxx.cn
    HostName git.xxxx.cn
    IdentityFile C:\Users\username\.ssh\id_rsa_gitlab
    PreferredAuthentications publickey
    User gitlab_username

上述username为windows用户的当前用户名。 github_username 为github上的username. gitlab_username 为gitlab本地私服的username. 配置完成之后,对上述配置进行测试,测试命令:

代码语言:javascript复制
ssh -T git@github.com

测试结果如下:

测试成功即表明配置成功,两个git能够访问。 可以查看know_hosts文件发现,配置的githost已经被自动添加了。

后面就可以愉快的拉代码了。

0 人点赞