苹果系统:sourcetree涉及多个github账号项目
步骤一:打开Mac上的“终端”应用,输入以下命令,查看.ssh目录下已有的密钥文件
ls ~/.ssh如下图:
若新项目中用到的账号都跟以上的账号相关,可忽略以下部分,直接看步骤二
给新项目的账号生成公钥和私钥:
ssh-keygen -t rsa -C "你的新账号邮箱@example.com" -f ~/.ssh/id_rsa_xx
例如:新项目所在的邮箱为123456@qq.com,我的名字是张三,我一般执行的命令如下:
ssh-keygen -t rsa -C 123456@qq.com -f ~/.ssh/id_rsa_zs你需要将123456@qq.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 key,title:随便取,key:就是公钥内容
点击“Add SSH key”,添加成功
步骤三:关键一步(解决多账号冲突)
我的电脑上现在有三个 SSH公私钥。GitHub 通过 SSH 连接时,默认会优先使用id_rsa,这会导致推送时身份混乱,无法使用新账号。
你需要配置~/.ssh/config文件,告诉系统针对不同的仓库使用不同的密钥。
(1)、在终端编辑配置文件(如果没有则自动创建):
vi ~/.ssh/config(2)、按i进入编辑模式,添加以下内容:
# 新账号(zs账号) Host github-zs HostName github.com User git IdentityFile ~/.ssh/id_rsa_zs添加后如下图所示:
按Ctrl+O保存,回车确认文件名,再按Ctrl+X退出。
(3)、最后,测试配置是否生效
ssh -T git@github-zs执行以上命令输出下图所示,则说明配置成功
步骤四:在 SourceTree 中的正确操作
例如:
复制到的url为:git@github.com:xx/project.git,
需要改成:git@github-zs:xx/project.git
到此就可以正常克隆到远程项目了