本地计算机连接两个Github账号

两个Github账号与本地计算机连接

注册Github账号

注册两个Github账号。这一步很简单,跟注册其它账号差不多。

Git的下载与安装

下载地址:https://git-scm.com/download

下载完成后,根据提示安装就行。安装过程中有一些选项,默认的就行。

生成SSH密钥

因为需要用Git关联两个Github账号,所以需要生成两对密钥(每一对密钥包括私钥和公钥,私钥不要随意给别人)。

假设两个Github账号一个用于个人(private),一个用于开源代码(open)。利用以下命令生成:

复制代码
ssh-keygen -t rsa -C "private-email"
sh-keygen -t rsa -C "open-email"

private-email和open-email是自己的邮箱(两个Github账号有两个邮箱)。第一次用一个邮箱(用于个人private)生成密钥时,如果一直默认下去会得到一对秘钥id_rsa和id_rsa.pub,保存在了~/.ssh文件夹内。

然后用另一个邮箱(用于开源open)生成密钥。第二次生成时需要注意给密钥重命名,比如命名为id_rsa_open和id_rsa_open.pub,也是保存在~/.ssh文件夹内。

为Github账户设置SSH Key

将生成的两对密钥加入到对应的Github中。依次登录两个Github账号,以一个账号(用于个人private)为例。

点击头像位置,依次选择Settings--SSH and GPG keys--SSH keys。将id_rsa.pub里面的内容粘贴进去,同时取一个名字,保存即可。

编辑config文件

因为涉及到要连接两个Github账号,所以需要借助config文件。编辑~/.ssh/config文件。如果该文件不存在的话,直接创建一个。内容包括两个,如下:

复制代码
# 个人用途
Host github-private
Hostname ssh.github.com
IdentityFile ~/.ssh/id_rsa
port 22

# 开源用途
Host github-open
Hostname ssh.github.com
IdentityFile ~/.ssh/id_rsa_open
port 22

连接Github仓库

首先,对本地项目进行设置。由于涉及到两个Github账号,所以不能用全局设置。若使用了全局设置,可用以下方法删除:

复制代码
# 删除全局设置
git config --global --unset user.name
git config --global --unset user.email

在本地项目目录下设置user.name和 user.email。注意,根据不同需求设置。比如当前本地项目用于个人,则在当前目录运行:

复制代码
# 添加局部设置
git config --local user.name private
git config --local user.email private-email

private和private-email对应用于个人的Github账号的user.name和user.email。

如果是用于开源,则用以下命令:

复制代码
# 添加局部设置
git config --local user.name open
git config --local user.email open-email

然后,将本地项目连接到远程Github仓库。以个人用途为例,使用以下命令:

复制代码
# 连接Github仓库
git remote add origin git@github-private:private/example1.git

github-private是【编辑config文件】步骤的Host名,它相当于替换了原来的github.com。private是对应Github的username,private/example1.git表示对应的远程仓库。使用git@github-private,而不用git@github.com,就是为了用不同ssh密钥区分不同的连接身份。

如果是开源用途,使用以下命令:

复制代码
git remote add origin git@github-open:open/example2.git

执行上面的命令可以会出现error: remote origin already exists的错误信息,可以使用以下命令删除关联的origin远程库:

复制代码
# 删除关联的origin远程库
git remote rm origin

到此为止,应该就可以了。

其它命令

复制代码
# 把目录变成Git可以管理的仓库
git init 

# 上传文件到远程仓库
git add runoob-test.txt  # runoob-test.txt是需要上传的文件,如果有很多文件,可以用.表示
git commit -m "comments"  # comments表示一些说明,比如上传的目的、内容等
git push origin main

# 下载文件到本地
git pull origin main
相关推荐
陌上花开缓缓归以7 小时前
Linux 5.4内核版本内核宏梳理
linux·网络·github
JavaGuide11 小时前
屠榜 GitHub,被迫改名!2026 年最火的 AI 助手 Moltbot
ai·github
CoderJia程序员甲13 小时前
GitHub 热榜项目 - 日榜(2026-01-28)
人工智能·ai·大模型·github·ai教程
极智-99616 小时前
GitHub 热榜项目-日榜精选(2026-01-28)|实用资源与工具、开源LLM应用 | pi-mono、supermemory、mlx-audio等
开源·github·语音处理·密钥管理·llm应用·iptv资源
Lust Dusk16 小时前
如何通过GitHub找到一个人?
安全·网络安全·github
ONLYOFFICE16 小时前
ONLYOFFICE 桌面编辑器正式成为 ShaniOS 默认办公套件
linux·编辑器·github·onlyoffice
独自破碎E16 小时前
如何把本地文件夹和已存在的 GitHub 远程仓库同步
github
嘿吖嘿嘿~16 小时前
怎么解决git@github.com出现Permission denied (publickey)的问题
git·github
独自破碎E16 小时前
CRLF与LF的行分隔符警告⚠️
github
CoderJia程序员甲1 天前
GitHub 热榜项目 - 日榜(2026-01-27)
github