在一台Mac上不同平台同时使用多个Git账号

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

思路

同时管理多个SSH key。

解决方案

生成多个SSH key

这里使用one two两个账户进行举例

注意在生成多个SSH key的时候一定要在~/.ssh目录下进行,否则生成的SSHkey不会再~/.ssh目录下。

以下有操作都是在~/.ssh目录下进行的。

在生成之前尽量删除此目录下的所有文件再进行,以免出现不必要的问题。

ssh-keygen -t rsa -C "[email protected]"
复制代码
ssh-keygen -t rsa -C "[email protected]"
复制代码

再输入命令行的时候在第一次提示Enter file in which to save the key的时候对ssh文件进行重命名(id_rsa_one和id_rsa_two),这是就会生成一下目录中的四个文件。

两份包含私钥和公钥的4个文件。

添加私钥

在对应平台添加私钥的地方,把两个账号生成的私钥添加进去。 获取私钥

cat ~/.ssh/id_rsa_one.pub
复制代码
cat ~/.ssh/id_rsa_two.pub
复制代码

其中(id_rsa_one.pub和id_rsa_two.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到本地

    原来的写法

  [email protected]:项目路径.git
复制代码

现在的写法

  git clone [email protected]:项目路径.git
复制代码
  git clone [email protected]:项目路径.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"
复制代码

小结

此篇文章是自己通过网上查询然后自己实践总结而得。由于本人知识有限,难免总结得很完整,如果读者遇到什么问题,欢迎留言讨论,共同学习。

猜你喜欢

转载自juejin.im/post/5c1b0dae6fb9a049e660349e