git 配置多端多个账号(码云、github、gitlab)

首先要确认已经安装 Git,可以通过执行 git --version 命令来查看当前安装的版本。

想为同一个电脑配置多个 Git 账户,需要完成以下整体流程:

  1. 清空默认的全局 user.nameuser.email 配置项;
  2. 为不同的 Git 账户生成不同的 SSH 密钥;
  3. 将以上的 SSH 密钥分别添加到 SSH-Agent 信任列表;
  4. 将以上的公钥添加到相应的 Git 账户中;
  5. config 文件中配置多个 SSH 密钥;
  6. 进行测试。

1、清空默认的全局 user.name 和 user.email

bash 复制代码
git config --global --unset user.name
git config --global --unset user.email

可以通过运行 git config --global --list 命令来查看 Git 的全局配置情况。

2、配置多个 Git 账户的用户名和邮箱:

  1. 单个配置
bash 复制代码
git config --global user.name "yourusername"
git config --global user.email "[email protected]"
  1. 多个配置

注意: 这里git config命令没有带---global,表示这是一个局部的设置,即该用户只在当前项目中使用,而不是全局的。

bash 复制代码
git config user.name "1"
git config user.email "[email protected]"
  1. 删除配置
bash 复制代码
git config --unset user.name
git config --unset user.email

3、生成多个 SSH 密钥

管理员打开控制台

  1. 生成 gitte 仓库的 SSH

指定文件路径,方便后面操作:~/.ssh/id_rsa.gitee,id_rsa.github是秘钥的别名。

bash 复制代码
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "[email protected]"
  1. 生成 github 仓库的 SSH
bash 复制代码
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "[email protected]"

4、将 ssh-key 分别添加到 ssh-agent 信任列表

js 复制代码
ssh-agent bash
ssh-add ~/.ssh/id_rsa.gitee
ssh-add ~/.ssh/id_rsa.github

如果看到 Identitiy added: ~/.ssh/id_ras_github,就表示添加成功了。

5、将公钥添加到相应的 Git 账户中

使用以下命令将公钥复制到粘贴板中,然后粘贴到 Git 账户的 SSH 密钥中。也可以直接打开文件进行复制,文件名带有 .pub 后缀。

bash 复制代码
pbcopy < ~/.ssh/id_rsa.gitee

6、在 config 文件 (在 .ssh 目录下 ) 中配置多个 SSH 密钥

ini 复制代码
#Default gitHub user Self
Host github
    HostName github.com
    User git #默认就是git,可以不写
    IdentityFile ~/.ssh/id_rsa.github
	
# gitee的配置
host gitee 
	Hostname gitee.com #要连接的服务器
	#密钥文件的地址,注意是私钥
	IdentityFile ~/.ssh/id_rsa.gitee

#Add gitLab user 
Host myGit
    HostName git.xxxxx.cn
    IdentityFile ~/.ssh/id_rsa.xxxx

7、进行测试

bash 复制代码
ssh -T [email protected]

git clone git@{配置的 Host}:xxx/xxxx.git
git clone git@myGit:xxx/xxxx.git
相关推荐
uhakadotcom8 小时前
快速开始使用 n8n
后端·面试·github
uhakadotcom8 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
咖啡教室10 小时前
日常开发中常用的git操作命令和使用技巧
git
uhakadotcom12 小时前
MQTT入门:轻量级物联网通信协议
后端·面试·github
uhakadotcom14 小时前
阿里云STS:安全、灵活的临时访问管理
后端·面试·github
uhakadotcom14 小时前
Flutter入门指南:快速构建高性能移动应用
面试·架构·github
uhakadotcom14 小时前
React 和 Next.js 的基础知识对比
前端·面试·github
uhakadotcom16 小时前
SwiftUI 入门指南:快速构建跨平台应用
面试·架构·github
uhakadotcom16 小时前
OpenTelemetry入门:让你的应用程序更透明
后端·面试·github
carterwu17 小时前
git工作流程的分类和对应场景
git