git如何配置多个账号

29次阅读
没有评论

共计 2856 个字符,预计需要花费 8 分钟才能阅读完成。

一、git 多账号使用场景

  1. 一般情况下,公司项目用 git 提交时会分配给你的名字和公司邮箱,而你自己会用 github、gitee、gitcoding 来管理自己的个人代码库,这时候最好区分开个人和公司提交的用户信息。
  2. 当你需要在不同平台以不同帐号提交代码时,需要区分提交的帐号信息,比如 github、gitee、gitcoding 等。
  3. 当你需要针对不同代码仓用不同账号提交代码,比如 a 仓库用 user1 帐号、b 仓库用 user2 账号。

二、git 全局帐号配置

一般情况下,我们都是一台电脑配置一个 Git 帐号,命令示例如下:

git config --global user.name "email"
git config --global user.email "email@example.com"

三、配置多个 git 帐号

步骤一、移除 git 全局配置

  1. 点击鼠标右键【Git Bash Here】打开 Git 命令行
  2. 然后输入命令:git config –list 查看全局配置,如下图:
git 如何配置多个账号

3. 使用如下命令移除 name、email、password 等配置

# 移除全局配置用户名
git config --global --unset user.name

# 查看全局用户名
git config --global --unset user.name

# 移除全局配置邮箱
git config --global --unset user.email

# 查看全局邮箱
git config --global --unset user.email

# 移除全局配置密码
git config --global --unset user.password

# 查看全局密码
git config --global --unset user.password

步骤二、生成 user1 的 SSH KEY 并在 GitHub 上部署

  1. 点击鼠标右键【Git Bash Here】进入【Git Bash】,输入以下命令生成 user1 的 SSH KEY:
 ssh-keygen -t rsa -C  "user1@example.com" -f ~/.ssh/id_rsa_github

如下图示例:

git 如何配置多个账号

2. 进入当前用户的 .ssh 目录查看,生成 id_rsa_github 私钥文件和 id_rsa_github.pub 公钥文件,如下截图示例:

git 如何配置多个账号

3. 用户 user1 登录 GitHub,进入【Settings】-【SSH and GPG keys】,如下截图:

git 如何配置多个账号

4. 点击【New SSH key】按钮,进入新建 SSH key 页面,进入如下图设置:

git 如何配置多个账号

5. 添加完成后在【Git Bash Here】中输入以下命令测试该用户的 SSH 密钥是否生效:

# 以下命令会用默认的 ~/.ssh/id_rsa 文件 
ssh -T git@github.com
# -i 指定用哪一个 rsa 文件
ssh -T git@github.com -i ~/.ssh/id_rsa_github

如图所示,因我本地已经配置了两个指定名称的 rsa 文件,默认的 id_rsd 文件不存在,所以第一次报错,需要以第二个命令进行 ssh 测试

步骤三、生成 user2 的 SSH KEY 并在 GitHub(或 Gitee、GitCoding)上部署

  1. 点击鼠标右键【Git Bash Here】进入【Git Bash】,输入以下命令生成 user2 的 SSH KEY:
 ssh-keygen -t rsa -C "user2@example.com" -f ~/.ssh/id_rsa_gitee

如下截图:

git 如何配置多个账号

2. 进入当前用户的 ~/.ssh 目录查看,生成 id_rsa_gitee 私钥文件和 id_rsa_gitee.pub 公钥文件,如下截图:

3. 用户 user2 登录 Gitee,进入【个人设置】->【安全设置】->【SSH 公钥】-> 添加公钥,如下截图:

git 如何配置多个账号

查看公钥详情:

git 如何配置多个账号

4. 添加完成后在【Git Bash Here】中输入以下命令测试该用户的 SSH 密钥是否生效:

ssh -T git@gitee.com -i ~/.ssh/id_rsa_gitee
git 如何配置多个账号

也可以使用 ssh agent 添加密钥后进行测试。因为系统默认只读取 id_rsa,为了让 ssh 识别新的私钥,可以使用 ssh-agent 手动添加私钥:

ssh-agent bash
ssh-add ~/.ssh/id_rsa2

注:该方法仅限当前窗口有效,打开新的窗口则 ssh 连接失败。

步骤四、配置 config 文件

  1. 在.ssh 目录下创建一个 config 文本文件,每个账号配置一个 Host 节点。主要配置项说明:
Host      主机别名
HostName  服务器真实地址
IdentityFile  私钥文件路径
PreferredAuthentications  认证方式
User  用户名

配置文件内容:

# 配置 user1 
Host user1.github.com
HostName github.com
IdentityFile C:\\Users\\lingh\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User user1

# 配置 user2
Host user2.gitee.com
HostName gitee.com
IdentityFile C:\\Users\\lingh\\.ssh\\id_rsa_gitee
PreferredAuthentications publickey
User user2

2. 终端测试 SSH Key 是否生效

ssh -T git@user1.github.com -i ~/.ssh/id_rsa_github
ssh -T git@user2.gitee.com -i ~/.ssh/id_rsa_gitee

3. 配置用户名和邮箱

为各仓库单独配置用户名和邮箱

git config user.name "user1"
git config user.email "user1@email.com"

如果原先使用 HTTPS 通信,则需要修改远程仓库地址

git remote rm origin
git remote add origin git@user1.github.com:xxx/xxxxx.git

四、Git 配置文件的个性化

于个别仓库设置特定的用户名称和邮箱。

  1. 配置用户信息:

在本地电脑某个代码文件夹 (仓库) 目录下,使用命令设置用户名和邮箱:

git config user.name "user1"
git config user.email "user1@example.com"

这会在该代码文件夹 (仓库) 的 .git/config 文件中保存这些信息。

2. 全局与局部配置:

如果想要为特定的仓库设置不同的配置,确保不使用 --global 参数,这样设置才会仅限于当前仓库。

参考链接:

https://blog.csdn.net/q13554515812/article/details/83506172

https://developer.aliyun.com/article/1421976

https://docs.pingcode.com/ask/136155.html

https://www.cnblogs.com/EltonLiang/p/9133096.html

正文完
 0
wordme
版权声明:本站原创文章,由 wordme 于2025-07-27发表,共计2856字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】AI 驱动 · 智领未来,4核4G3M云服务器低至 79元/年宝塔服务器面板,一键全能部署及管理
评论(没有评论)
验证码