管理你的多个 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 账户

相关推荐
不怕犯错,就怕不做6 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
峰向AI10 小时前
GenOffice:开源 Office 套件,字节级保留、本地转换、BYOK模式
github
ELI_He99911 小时前
如何还原已经推送的提交
git
其实防守也摸鱼12 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
m4Rk_12 小时前
【论文阅读】Agent 记忆机制(57):MemSearch-o1——从查询词元生长证据,重组 Deep Search 记忆路径
论文阅读·人工智能·学习·开源·github
️学习的小王12 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
其实防守也摸鱼13 小时前
免杀与持久化入门:从载荷免杀到隐蔽通道的完整指南
运维·服务器·数据库·安全·github·copilot·渗透
sec_jay13 小时前
一个面向有限本地语料库的、单智能体、工具调用型 Agentic RAG 原型--关于agent的实践调研报告
github
愚蠢得人13 小时前
Git Worktree实用指南:同时开发两个分支,不再反复切换
git
goplaysource15 小时前
IPTV 频道去重:用哈希解决"同一个频道出现十遍"的问题
github