尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

【自用记录】本地关联GitHub多账号设置

【自用记录】本地关联GitHub多账号设置 虽说现在AI很方便有问题可以AI提问解决但还是记录一下。最近有不同的项目作业涉及不同的GitHub账号与仓库。之前比较懒直接临时手动切换但太麻烦了。现记录一个长期稳定的方法。要点记录本地可以同时配置多个 GitHub 账号根据项目自动使用不同账号。方法通过 SSH key 按项目目录自动区分账号。1. 为不同账号生成不同 SSH key创建 ssh 命令ssh-keygen-ted25519-C不同GitHub账号邮箱[私人/工作/学校/其他]-f$env:USERPROFILE\.ssh\id_ed25519_[区别标签 如personal/work/other]具体例子ssh-keygen-ted25519-Cyour_emailexample.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 账号复制某个账号的公钥Get-Content$env:USERPROFILE\.ssh\id_ed25519_[你前面做的区别标签].pub具体例子Get-Content$env:USERPROFILE\.ssh\id_ed25519_work.pub这个命令会给你一行内容将整行内容复制。在GitHub上新建一个SSHGitHub → 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.comgithub-work用工作 key 访问 github.com。4. 测试 SSH 是否连对账号测试命令ssh-Tgitgithub-[你的标签]具体例子ssh-Tgitgithub-work如果出现Hi [标签的账号用户名]! Youve successfully authenticated...说明对接成功。5. 如何给不同目录设置不同 commit 身份打开全局变量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创建不同的配置notepad$env:USERPROFILE\.gitconfig-[你的标签]写入以下内容[user] name 该标签对应的GitHub用户名 email 该标签对应的GitHub邮箱这样以后只要项目放在对应文件夹里commit 身份会自动切换。6. 如何用不同 SSH 地址 clone 仓库不使用 HTTPS用 SSH 克隆。clone命令gitclone gitgithub-[你的标签]:你的私人用户名/你的私人仓库.git7. 如果我的项目已经 clone 下来了怎么改成不同的 SSH进入项目文件夹输入命令gitremote-v将之前的 HTTPS 连接改成用 SSH 连接gitremote set-url origin gitgithub-[你的标签]:你的私人用户名/你的私人仓库.git再进行一次检查gitremote-v8. 后续新项目确认对应的 GitHub 账号项目先初始化 Gitgitinit-bmain检查当前 Git 身份gitconfig--globaluser.namegitconfig--globaluser.email如果对应的账号不是你想要的进行如下修改gitconfig user.name想要修改的GitHub显示名称gitconfig user.email想要修改的GitHub绑定邮箱然后再次确认当前项目的 Git 身份gitconfig user.namegitconfig user.email进行远程 GitHub 仓库连接gitremoteaddorigin仓库的URL检查确认仓库链接gitremote-v最后提交一次 commit 到仓库确认提交用户是否正确。参考教程来自ChatGPT
返回列表