同一台电脑上同时使用多个Git账号

有时候我们可能需要在同一台电脑上针对不同平台同时使用多个Git账户的情况,这时候我们就需要针对多个平台和账户进行不同的设置。

同时管理多个SSH key。

  • 生成多个SSH key,这里使用one、two两个账户进行举例。
  • 注意: 在生成多个SSH key的时候一定要在~/.ssh目录下进行,否则生成的SSH key不会在~/.ssh目录下,所以以下有操作都是在~/.ssh目录下进行的。在生成之前尽量删除此目录下的所有文件再进行,以免出现不必要的问题。
ssh-keygen -t rsa -C "one@email.com"
ssh-keygen -t rsa -C "two@email.com"
  • 复制代码再输入命令行的时候在第一次提示Enter file in which to save the key的时候对ssh文件进行重命名(idrsaone和idrsatwo),这样就会生成如下目录中的四个文件。
    在这里插入图片描述
    即两份包含私钥和公钥的4个文件。
  • 获取密钥
cat ~/.ssh/id_rsa_one.pub
cat ~/.ssh/id_rsa_two.pub

其中idrsaone.pub和idrsatwo.pub就是上面对ssh文件重命名的文件名。

有了这个密钥,你就可以将其添加到你所需要用的平台上去。

  • 创建config文件,在~/.ssh目录下创建一个config文件
touch config

这样就会在~/.ssh目录下生成一个空的config文件,然后我们在文件中添加以下内容:

# git server one
Host one.aliyun.com #别名
Hostname code.aliyun.com #真实域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_one #ssh 文件路径
User one

#git server two
Host two.aliyun.com
Hostname code.aliyun.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_two
User two
  • 远程测试
ssh –T one.aliyun.com
ssh –T two.aliyun.com
  • 使 用,比如clone到本地
  1. 原来的写法:
git clone git@code.aliyun.com:项目路径.git
  1. 现在的写法:
git clone git@one.github.com:项目路径.git
git clone git@two.github.com:项目路径.git
  • 给仓库设置局部用户名和邮箱
git config user.name "one_name"; git config user.email "one_email"
git config user.name "two_name"; git config user.email "two_email"
posted @ 2020-09-29 10:47  兮动人  阅读(56)  评论(0编辑  收藏  举报