Mac 上配置多个git账号
2018-11-22 本文已影响4人
Kandy_JS
参考
流程
1、清空默认全局的username和email(如果没有的话可忽略)
- 1.1、查看已配置的git列表
git conifg --list
- 1.2、清空默认的用户名和邮箱
git config --global --unset user.name
git config --global --unset user.email
2、给不同的git账户生成ssh-key:比方说一个公司账号,一个个人账号
- 2.1、公司git生成ssh-key,默认如果不设置名字的话就是id_rsa
//输入后按enter键
ssh-keygent -t rsa -C "123@company.com"
//返回值
Generating public/private rsa key pair.
Enter file in which to save the key (/User/用户名/.ssh/id_rsa)
Created directory '/User/用户名/.ssh'.
Enter passphrase (empty for no passphrase):
//上面提示你输密码,你可以直接enter,然后再输入一遍
Enter same passphrase again:
//返回提示身份认证保存
Your identification has been saved in /User/用户名/.ssh/id_rsa.
Your public key has been saved in /User/用户名//ssh/id_rsa.pub.
The key fingerprint is:
SHA256:巴拉巴拉一大堆... 123@company.com
The key's randomart image is:
巴拉巴拉一个图
- 2.2、自己的git生成ssh-key,设置路径成id_rsa_personal,和之前公司那个区分开来
//输入自定义的rsa名字到自己的邮箱上去
ssh-keygent -t rsa -f ~/.ssh/id_rsa_personal -C "456@personal.com"
//后面的一样的...
3、给他们分别添加到ssh-agent信任列表
- 3.1、添加公司的到信任列表
ssh-add ~/.ssh/id_rsa
- 3.2、这里可能会遇到Error比如
Could not open a connection to your authentication agent.
- 3.3、那么请先输入
ssh-agent bash
- 3.4、重复 3.1操作,返回Identity added就是成功了
ssh-add ~/.ssh/id_rsa
//返回这个就表示添加成功了
Identitiy added: ~/.ssh/id_ras
- 3.5、再次添加个人的到信任列表
ssh-add ~/.ssh/id_rsa_personal
//返回这个就表示添加成功了
Identitiy added: ~/.ssh/id_ras_personal
4、添加他们的公钥到你的git账户中
- 4.1、复制公钥,然后粘贴到git网站的公钥中去
pbcopy < ~/.ssh/id_rsa.pub
//pbcopy < ~/.ssh/id_rsa_personal.pub
5、在config文件配置多个ssh-key
- 5.1、打开目录,看看有没有config文件,没有的话新建一个
open ~/.ssh/
- 5.2、分别配置公司和自己的ssh-key
键 | 值 | 规则 |
---|---|---|
Host | 主机 | 随意写,有点关联就行了 |
Hostname | 主机名 | 必须写正确,是你的git公有地址,比方说码云:gitee.com |
IdentityFile | 身份文件 | 你的rsa具体路径地址 |
User | 用户 | 可随意写,建议使用Host的前面部分,后面具体clone操作都会用到这个user |
#公司
Host company.gitee.com
Hostname gitee.com
IdentityFile ~/.ssh/id_rsa
User company
#个人
Host me.gitee.com
Hostname gitee.com
IdentityFile ~/.ssh/id_rsa_personal
User me
6、测试连接
- 6.1、测试公司git账户连接:如果单个账户情况一般就是ssh -T git@xxx,如果配置了config,那么可以这样测试:ssh -T git@{config里面的user}.xxx主机名
ssh -T git@company.gitee.com
- 6.2、连接成功
Hi 公司某某! You've successfully authenticated.but GITEE.COM does not provide shell acess
- 6.3、测试自己的,并连接成功
ssh -T git@me.gitee.com
Hi 想要减肥的你! You've successfully authenticated.but GITEE.COM does not provide shell acess
到这一步为止,基本上后面能欢快的玩耍了
7、clone 2 push , 这里和以前操作一样,略微带过
//到自己工作的目录,准备下载个工程下来
cd ~/DevEnv/MyGitee/
//原本单个账户的情况
//git clone git@gitee.com:想要减肥的你/TestAndroid.git
//设置多个账户和config后
git clone git@me.gitee.com:想要减肥的你/TestAndroid.git
//.....done
//.....修改了某些东西
//前往具体的工程目录
cd TestAndroid
//添加、提交,push等,一步带过啦~~
git add .
git pull
git commit -m "test commit"
git push
//OK啦