用 SSH 密钥在一台机器上管理多个 GitHub 账户
如何用 SSH 密钥在一台机器上管理多个 GitHub 账户 (freecodecamp.org)
如何在同一台电脑上同时使用多个Git账号? - 知乎 (zhihu.com)
-
生成多个 SSH 密钥
在
C:\Users\Administrator\.ssh
文件夹中打开gitbash
,生成两个 SHH 密钥,分别作用于我的两个github账号。bashssh-keygen -t rsa -C "one@gmail.com" -f "id_rsa_one" ssh-keygen -t rsa -C "two@gmail.com" -f "id_rsa_two"
其中邮箱对应两个github账号注册时的邮箱。
-
将两个密钥加入到对应的github账户
-
编辑配置文件
编辑
~/.ssh/config
文件,没有就建一个,Host
名称可以根据你的需求更改。# one Host github_one Hostname ssh.github.com IdentityFile ~/.ssh/id_rsa_one port 22 # two Host github_two Hostname ssh.github.com IdentityFile ~/.ssh/id_rsa_two port 22
修改之后,在
git bash
中运行以下命令,检查是否连接正常。bashssh -T git@github_one ssh -T git@github_two
如果都能正常返回如下信息,就说明配置正常。
textHi xxx! You've successfully authenticated, but GitHub does not provide shell access.
同样的方式你就可以配置更多的以SSH登录的不同git用户。
-
配置仓库设置
全局设置可以作为你默认上传的账号,在需要用其他账号时,需要重新配置
user.name
和user.email
。bash# 添加本地设置 # 设置为私有仓库的GitHub账号邮箱和公有账号的GitHub邮箱。 git config --local user.name xxxx git config --local user.email xxx
-
上传文件
-
添加远程仓库
未创建远程仓库时,采用
git remote add
添加远程仓库,origin可替换仓库的名称。bash# 远程仓库不存在 git remote add origin git@github_two:xxx/example.git # 远程仓库已存在 git remote add test git@github_two:xxx/test.git error: remote test already exists.
-
上传至远程仓库
先用以下命令更新 test 远程仓库的 URL,以便您可以使用新的地址进行推送或拉取操作。
bashgit remote set-url test git@github_two:two/test.git
然后在VScode中推送文件即可。
-