Mac上管理多个Git账号

有时候,我们需要在同一台电脑上使用多个Git账号的需求。其中有自己的个人Git账号,用于自己学习或者参与开源项目,也有工作用的Git账号。这篇文章将会介绍怎样在同一台Mac电脑上管理多个Git账号。

参考

  • mac一台电脑配置多个git账号
  • Mac多个Git账户配置

查看已配置的Git账号列表

$ git config --list
credential.helper=osxkeychain
user.name=windyhill
[email protected]

生成SSH keys

SSH(Secure Shell Protocol)是一种加密网络协议,用于在不安全的网络上提供一个安全通道,通过它可以连接并验证远程服务器和服务。使用SSH key,可以在电脑和GitHub之间建立安全的连接,而无需在每次访问GitHub时提供用户名和访问令牌。
我们需要给每个Git账号生成SSH key,即一对公司钥。例如一个公司Git账号,一个私人Git账号。
公司账号, 这里的邮箱为公司邮箱

$ ssh-keygen -t ed25519 -C "your_company_email@example_company.com"

个人账号,这里的邮箱为个人邮箱

$ ssh-keygen -t ed25519 -f id_ed25519_personal -C "[email protected]"

添加到SSH agent信任列表

SSH agent 是一个密钥管理器,用来管理一个或多个密钥,并为需要使用 ssh key 的程序提供代理。
如果你的私钥使用密码加密了的话,每一次使用 SSH 密钥对进行登录的时候,都必须输入正确的密码短语。而 SSH agent 程序能够将已解密的私钥缓存起来,在需要的时候提供给SSH 客户端。这样,就只需在使用 ssh-add 将私钥加入 SSH agent 缓存的时候,输入一次密码短语就可以了。这为经常使用 SSH 连接用户提供了不少便利。

$ ssh-add ~/.ssh/id_ed25519
$ ssh-add ~/.ssh/id_ed25519_personal

查看已添加的密钥

$ ssh-add -l

删除某个密钥

$ ssh-add -d path_to_your_public_key

删除所有密钥

ssh-add -D

添加公钥到你的github

$ pbcopy < ~/.ssh/id_ed25519.pub
# $ pbcopy < ~/.ssh/id_ed25519_personal.pub

将已复制的公钥分别添加到对应的Github账号设置中的SSH key中。

在config文件配置多个ssh-key

打开~/.ssh目录,看看有没有config文件,没有的话新建一个。分别配置公司和自己的ssh-key。

# 公司账号
Host your_company.gitlab.com            # 将以下声明限制为仅针对那些匹配关键字后给出的模式之一的主机。模式与命令行上给出的主机名进行匹配。
   HostName gitlab.your_company.cn      # gitlab/github域名,必须写正确
   User git                             # 用户
   IdentityFile ~/.ssh/id_ed25519       # SSH 私钥文件具体路径

# 个人账号
Host github.com 
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_ed25519_personal

连接测试

$ ssh -T git@your_company.gitlab.com
$ ssh -T [email protected]

你可能感兴趣的:(Mac上管理多个Git账号)