如何在同一台机器上使用多个 GitHub 帐户

在同一台电脑上用多个GitHub账户可能有点难搞,特别是要管理不同的SSH密钥和仓库。不过别担心,在这篇文章里,我会教你如何在电脑上设置和使用多个GitHub账户,让你的开发过程更高效、更井然有序。

了解 SSH 密钥

SSH(Secure Shell)密钥是一种用于在计算机和像GitHub这样的远程服务器之间进行安全身份验证的方法。当连接到远程服务器时,服务器会根据它的授权密钥列表来检查提供的公钥。如果提供的密钥与服务器上的密钥匹配,就能获得访问权限。

对于每个GitHub账户使用不同的SSH密钥可以帮助你保持工作和个人存储库的独立性和安全性。

生成 SSH 密钥

生成新的 SSH 密钥

要为每个 GitHub 帐户生成新的 SSH 密钥,打开终端并运行以下命令,将“[email protected]”替换为与 GitHub 帐户关联的电子邮件地址:

ssh-keygen -t ed25519 -C "[email protected]"

当提示输入保存密钥的文件时,要选择唯一的名称和位置,例如 ~/.ssh/id_ed25519_account1。

将 SSH 密钥添加到 SSH 代

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_account1

对要添加的每个 GitHub 帐户重复这些步骤,记住将文件路径替换为之前选择的唯一名称。

如果你对这两行命令有好奇心,可以看看下面的原理:

eval "$(ssh-agent -s)":这行命令是启动ssh-agent。ssh-agent是一个程序,用于保存私钥和公钥,当你需要使用这些密钥进行SSH连接时,ssh-agent可以为你提供这些密钥。eval是一个shell命令,用于执行后面的命令并返回结果。$(ssh-agent -s)会启动ssh-agent并返回一些设置环境变量的命令,eval会执行这些命令,以便后续的命令可以找到ssh-agent。

ssh-add ~/.ssh/id_ed25519_account1:这行命令是将私钥~/.ssh/id_ed25519_account1添加到ssh-agent中。这样,当你需要使用这个私钥进行SSH连接时,就不需要每次都输入私钥的密码了,ssh-agent会自动为你提供这个私钥。

配置 GitHub 帐户

配置第一个 GitHub 帐户

要配置您的第一个 GitHub 帐户,请在 ~/.ssh 目录中创建一个名为 config 的新文件。在此文件中,添加以下行,将“Account1”替换为您的第一个帐户的描述性名称:

要配置你的第一个GitHub账户,请在~/.ssh目录下创建一个名为config的新文件。在这个文件中,添加以下行,将”Account1″替换为你第一个账户的描述性名称:

Host github.com-Account1
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_account1

配置您的第二个 GitHub 帐户

要配置第二个 GitHub 帐户,请将以下行添加到同一配置文件中,将“Account2”替换为第二个帐户的描述性名称,并更新文件路径以匹配第二个 SSH 密钥:

Host github.com-Account2
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_account2

测试配置

要测试你的配置,请为每个账户运行以下命令,并将”github.com-Account1″替换为配置文件中正确的主机值:

ssh -T [email protected]

如果配置正确,您应该会看到一条来自 GitHub 的消息,欢迎作为与相应 SSH 密钥关联的用户。

管理多个存储库

clone存储库

要从你的GitHub账户中克隆一个仓库,请使用以下命令,将”github.com-Account1″替换为正确的主机值,将”your_username”和”your_repository”替换为正确的信息:

git clone [email protected]:your_username/your_repository.git

当使用多个 GitHub 帐户时,Git 别名可以简化您的工作流程。例如,您可以使用特定帐户信息为常用命令创建别名,例如克隆存储库。要创建别名,请运行以下命令

git config --global alias.clone-account1 'clone [email protected]'

现在,当想从第一个帐户克隆存储库时,可以使用别名:

git clone-account1:your_username/your_repository.git
5 1 投票
文章评分
订阅评论
提醒

1 评论
最旧
最新 最多投票
内联反馈
查看所有评论
Alan
28 天 前

有用,正好新申请了一个github账号使用

1
0
希望看到您的想法,请您发表评论x
滚动至顶部