Git多账号配置
Windows设备管理多个git账号
Git多账号配置
Git 多账号配置
在日常开发中,我们可能会遇到这样的情况:一台电脑上既需要管理多个的Git账号以处理不同的项目代码,或者跨平台登录Git存储库。如果每次提交或拉取代码时都临时修改配置,不仅操作繁琐,而且容易出错。本文将记录一次性配置的方法,实现多账号管理。
环境
-
操作系统:Windows
-
项目目录A:
D:/account1/
-
项目目录B:
D:/account2/
配置步骤
1. 修改全局Git配置文件
首先,打开全局Git配置文件C:/Users/用户名/.gitconfig
,原始配置可能只设置了某一个Git用户名和邮箱:
1
2
3
[user]
name = 用户名
email = 邮箱
将上面的内容删去,修改为条件引入配置:
1
2
3
4
[includeIf "gitdir:D:/work/"]
path = .gitconfig-account1
[includeIf "gitdir:D:/personal/"]
path = .gitconfig-account2
2. 创建多个的Git配置文件
在用户目录下新建两个(或更多)文件,分别用于存放两个(或更多)和邮箱配置:
C:/Users/用户名/.gitconfig-account1
1
2
3
[user]
name = 用户名A
email = 邮箱A #选填
C:/Users/用户名/.gitconfig-account2
1
2
3
[user]
name = 用户名B
email = 邮箱B #选填
3. 生成SSH密钥
运行以下命令分别生成账号A和账号B的SSH密钥。-f
参数可以指定生成的文件名,account1_id_rsa
是账号A的,account2_id_rsa
是账号B的。
1
2
3
4
5
# 第一个账号的 SSH
ssh-keygen -f c:/Users/用户名/.ssh/gitlab_id_rsa -t rsa -C name1
# 第二个账号的 SSH
ssh-keygen -f c:/Users/用户名/.ssh/github_id_rsa -t rsa -C name2
完成后会得到以下文件:
account1_id_rsa
和account1_id_rsa.pub
account2_id_rsa
和account2_id_rsa.pub
将account1_id_rsa.pub
和account2_id_rsa.pub
的内容分别复制到GitLab、GitHub或其他Git存储库对应的SSH设置页面。
4. 配置SSH
新建C:/Users/用户名/.ssh/config
文件,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
Host github-account1
HostName github.com #此处填你使用的Git存储库的域名
User git
IdentityFile C:\\Users\\用户名\\.ssh\\account1_id_rsa
PreferredAuthentications publickey
Host github-account2
HostName gitlab.com #此处填你使用的Git存储库的域名
User git
IdentityFile C:\\Users\\用户名\\.ssh\\account2_id_rsa
PreferredAuthentications publickey
至此,Git多账号管理配置完成。现在,您可以在D:/account1/
和D:/account2/
目录下,无需每次手动切换配置。
This post is licensed under
CC BY 4.0
by the author.