步骤一打开Mac上的“终端”应用输入以下命令查看.ssh目录下已有的密钥文件ls ~/.ssh如下图若新项目中用到的账号都跟以上的账号相关可忽略以下部分直接看步骤二给新项目的账号生成公钥和私钥ssh-keygen -t rsa -C 你的新账号邮箱example.com -f ~/.ssh/id_rsa_xx例如新项目所在的邮箱为123456qq.com,我的名字是张三我一般执行的命令如下ssh-keygen -t rsa -C 123456qq.com -f ~/.ssh/id_rsa_zs你需要将123456qq.com改成你自己的账号id_rsa_zs改成你自定义的一般都是id_rsa_xx这个xx是为了区别其它账号完全自定义便于你知道哪个公钥对应哪个项目即可以上命令回车后要求输入密码,如下我一般直接回车或则你也可以设置你想要的密码再回车继续一直回车出现以下情况说明密钥生成成功步骤二将新公钥添加到新 GitHub 账号使用以下命令复制想要的公钥id_rsa_zs.pub就是我刚生成的公钥这里需要改成你自己的公钥文件名称pbcopy ~/.ssh/id_rsa_zs.pub以上命令回车后出现以下情况则说明公钥内容复制成功登录新GitHub账号后在右上角头像 - Settings - SSH and GPG keys - New SSH keytitle随便取key就是公钥内容点击“Add SSH key”,添加成功步骤三关键一步解决多账号冲突我的电脑上现在有三个 SSH公私钥。GitHub 通过 SSH 连接时默认会优先使用id_rsa这会导致推送时身份混乱无法使用新账号。你需要配置~/.ssh/config文件告诉系统针对不同的仓库使用不同的密钥。1、在终端编辑配置文件如果没有则自动创建vi ~/.ssh/config2、按i进入编辑模式添加以下内容# 新账号zs账号 Host github-zs HostName github.com User git IdentityFile ~/.ssh/id_rsa_zs添加后如下图所示按CtrlO保存回车确认文件名再按CtrlX退出。(3)、最后测试配置是否生效ssh -T gitgithub-zs执行以上命令输出下图所示则说明配置成功步骤四在 SourceTree 中的正确操作例如复制到的url为gitgithub.com:xx/project.git需要改成gitgithub-zs:xx/project.git到此就可以正常克隆到远程项目了