【自用整理】本地关联GitHub多账号设置

虽说现在AI很方便,有问题可以AI提问解决,但还是记录一下。

最近有不同的项目作业,涉及不同的GitHub账号与仓库。

之前比较懒直接临时手动切换,但太麻烦了。现记录一个长期稳定的方法。

要点记录

  • 本地可以同时配置多个 GitHub 账号,根据项目,自动使用不同账号。
  • 方法:通过 SSH key ,按项目目录,自动区分账号。

1. 为不同账号生成不同 SSH key

创建ssh命令:

bash 复制代码
ssh-keygen -t ed25519 -C "不同GitHub账号邮箱[私人/工作/学校/其他]" -f $env:USERPROFILE\.ssh\id_ed25519_[区别标签 如personal/work/other]

具体例子:

bash 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com" -f $env:USERPROFILE\.ssh\id_ed25519_work

这个操作会让你设置密码,密码可设可不设。不设置就一路回车。

之后会得到类似文件:

复制代码
id_ed25519_personal
id_ed25519_personal.pub

id_ed25519_work
id_ed25519_work.pub

id_ed25519_other
id_ed25519_other.pub

其中 .pub 是公钥,要加到 GitHub。没有 .pub 的是私钥,不要发给任何人。

2. 把公钥分别加到对应 GitHub 账号

复制某个账号的公钥:

bash 复制代码
Get-Content $env:USERPROFILE\.ssh\id_ed25519_[你前面做的区别标签].pub

具体例子:

bash 复制代码
Get-Content $env:USERPROFILE\.ssh\id_ed25519_work.pub

这个命令会给你一行内容,将整行内容复制。

在GitHub上新建一个SSH:GitHub → Settings → SSH and GPG keys → New SSH key

然后把复制的内容粘贴进去,并保存。

3. 配置 SSH,让它知道不同账号用不同 key

C:\Users\[你的用户名]\.ssh\下找名叫config的文件,没有就新建一个。

注意!是config文件,不是文件夹!没有任何后缀!

然后写入内容:

复制代码
Host github-personal [<--这是一个标签,你可以换成任何你想要的名字]
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_personal [<--你前面自己起的区别标签]
    IdentitiesOnly yes

Host github-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_work
    IdentitiesOnly yes

[其他更多...copy下来改内容就好]

上面内容意思如下:

github-personal 用私人 key 访问 github.com

github-work 用工作 key 访问 github.com

4. 测试 SSH 是否连对账号

测试命令:

bash 复制代码
ssh -T git@github-[你的标签]

具体例子:

bash 复制代码
ssh -T git@github-work

如果出现Hi [标签的账号用户名]! You've successfully authenticated...,说明对接成功。

5. 如何给不同目录设置不同 commit 身份?

打开全局变量:

bash 复制代码
notepad $env:USERPROFILE\.gitconfig

粘贴以下内容:

复制代码
[user]
    name = 你的默认名字
    email = 你的默认邮箱

[includeIf "gitdir/i:G:/GitHub/personal/"]
    path = ~/.gitconfig-personal

[includeIf "gitdir/i:G:/GitHub/school/"]
    path = ~/.gitconfig-school

[includeIf "gitdir/i:G:/GitHub/other/"]
    path = ~/.gitconfig-other

创建不同的配置:

bash 复制代码
notepad $env:USERPROFILE\.gitconfig-[你的标签]

写入以下内容:

复制代码
[user]
    name = 该标签对应的GitHub用户名
    email = 该标签对应的GitHub邮箱

这样以后只要项目放在对应文件夹里,commit 身份会自动切换。


6. 如何用不同 SSH 地址 clone 仓库?

不使用HTTPS,用SSH克隆。

clone命令:

bash 复制代码
git clone git@github-[你的标签]:你的私人用户名/你的私人仓库.git

7. 如果我的项目已经 clone 下来了,怎么改成不同的 SSH?

进入项目文件夹,输入命令:

bash 复制代码
git remote -v

将之前的HTTPS连接,改成用SSH连接:

bash 复制代码
git remote set-url origin git@github-[你的标签]:你的私人用户名/你的私人仓库.git

再进行一次检查:

bash 复制代码
git remote -v

参考教程来自ChatGPT
相关推荐
星蓝_starblue7 小时前
零服务器、零数据库!开源growth-board,利用GitHub自动管理刷题/学习/求职全流程
服务器·数据库·程序人生·系统架构·node.js·github·改行学it
夏天的峰没有风7 小时前
Typora加github加PicGo搭建图床使用教程
github·claude code
Liekkas Kono8 小时前
Github Star History 趋势图工具推荐
github·swhl
逛逛GitHub9 小时前
盘点 2 个看起来贼炫酷酷酷的 GitHub 项目,炒的还挺火的。
github
卡卡罗特AI9 小时前
GitHub怎么用?零基础,保姆级使用教程-上!建议收藏
前端·后端·github
YuePeng12 小时前
不写一行接口,让 DBeaver 直连你的指标层——背后只用了一个端口
后端·架构·github
别动我齐刘海12 小时前
Day6 unitree_G1人形机器人GMR—— MotionInput
c语言·c++·人工智能·学习·机器学习·机器人·github
leoZ23112 小时前
实战复盘:用 Claude Code 从零搭一个 GitHub PR 统计工具
java·人工智能·python·深度学习·自然语言处理·github·llama
阿里嘎多学长14 小时前
2026-08-04 GitHub 热点项目精选
开发语言·程序员·github·代码托管
MicrosoftReactor16 小时前
技术速递|GitHub Copilot App 入门指南:快速上手
ai·github·copilot·copilot app