管理你的多个 Git 密钥(单平台多账号)

大家好,我是 CC,在这里欢迎大家的到来~

前序

书接上文,如果公司和个人使用不同的代码储存平台,每个项目配置不同的 Git 用户名和邮箱就可以实现分离;但是当公司和个人使用同一个平台时,如何进行区分呢?

操作流程

假设我们现在需要两个 Github 密钥分别用于个人项目和开源项目

查看密钥

查看已有的密钥对

bash 复制代码
ls -la ~/.ssh

生成密钥

使用两个 Github 账户的注册邮箱分别生成对应的密钥

javascript 复制代码
ssh-keygen -t ed25519 -C "私人项目邮箱地址" -f ~/.ssh/github_id_ed25519_private
ssh-keygen -t ed25519 -C "开源项目邮箱地址" -f ~/.ssh/github_id_ed25519_public

添加密钥

  1. 添加到 Github 代码平台 SSH Key 位置
  2. 添加到 ssh-agent
javascript 复制代码
ssh-add ~/.ssh/github_id_ed25519_private
ssh-add ~/.ssh/github_id_ed25519_public

SSH 配置

~/.ssh/config 文件进行编辑

bash 复制代码
Host github_private
  HostName github.com
  User git
  IdentityFile ~/.ssh/github_id_ed25519_private
  AddKeysToAgent yes
  UseKeychain yes

Host github_public
  HostName github.com
  User git
  IdentityFile ~/.ssh/github_id_ed25519_public
  AddKeysToAgent yes
  UseKeychain yes

每个配置的作用在上篇文章中有提到

项目配置

克隆远程项目

ruby 复制代码
# 个人项目
git clone git@github_private:private_account_name/repo_name.git
# 开源项目
git clone git@github_public:public_account_name/repo_name.git

修改本地项目

ruby 复制代码
git remote set-url origin git@github_public:public_account_name/repo_name.git

新建项目同理

ruby 复制代码
git remote add origin git@github_public:public_account_name/repo_name.git

参考文章

如何用 SSH 密钥在一台机器上管理多个 GitHub 账户

相关推荐
ruanCat25 分钟前
使用 vite 的 base 命令行参数来解决项目部署在 github page 的路径问题
前端·github
小毛驴8501 小时前
所有微服务部署都使用一个git地址,并且通过docker部署各个服务的情况下,如何编写mvn指令来处理各个服务。
git·docker·微服务
FreeBuf_1 小时前
Salesloft Drift网络攻击事件溯源:GitHub账户失陷与OAuth令牌窃取
安全·github
第七种黄昏1 小时前
GitHub 项目提交完整流程(含常见问题与解决办法)
github
国王不在家1 小时前
git 切换仓库后清理分支缓存
git
确定过眼神!2 小时前
GitHub提交到公共项目流程
github·changeset
掘我的金3 小时前
mpc4j 在 macOS M3(Apple Silicon)上的部署实录:JDK 21(Preview)与 FourQ 缺失排错
github
-KamMinG3 小时前
“从零到一:使用GitLab和Jenkins实现自动化CI/CD流水线”
自动化·gitlab·jenkins
油泼辣子多加4 小时前
[特殊字符] GitHub 热门开源项目速览(2025/09/09)
github
柯南二号5 小时前
【Gitlab】Ubuntu 20.04服务器部署Gitlab
git·gitlab