解决问题:在同一个环境中如何设置多个git账号,对接多个git服务器
实际应用:我们往往会有多个git账号,如公司git服务器的git账号和个人的github账号,这时就需要在本地环境设置多个git账号,各自对接不同的git服务器
条件:Linux 环境(centos)、git 客户端
1. 本地git设置
a. 创建个人的SSH key:
# 新建ssh key
$ ssh-keygen -t rsa -C "youremail@foxmail.com"
# 设置报存文件的路径名~/.ssh/id_rsa_xxx 可以自定义
Enter file in which to save the key (/home/binlud/.ssh/id_rsa): /home/binlud/.ssh/id_rsa_test
# 设置密码 直接回车密码为空
Enter passphrase (empty for no passphrase):
# 再次输入密码
Enter same passphrase again:
b. 为了让SSH识别新的私钥,需将其添加到SSH agent中:
ssh-add ~/.ssh/id_rsa_test
如果出现错误Could not open a connection to your authentication agent
解决方法:
(a) 先输入ssh-agent bash,然后再输入ssh-add ~/.ssh/id_rsa_test;
c. 修改config文件, 若~/.ssh/目录下不存在config文件,则新建一个,内容写上:
# 该配置用于工作
# Host 服务器别名
Host 60.20x.xxx.xxx
# HostName 服务器ip地址或机器名
HostName 60.205.xxx.xxx
# User连接服务器的用户名
User 王**
# IdentityFile 密匙文件的具体路径
IdentityFile ~/.ssh/id_rsa
# 该配置用于个人 github 上
# Host 服务器别名
Host github.com
# HostName 服务器ip地址或机器名
HostName github.com
# User连接服务器的用户名
User binlud
# IdentityFile 密匙文件的具体路径
IdentityFile ~/.ssh/id_rsa_test
2. 把~/.ssh/id_rsa_test.pub的内容添加到Github 的SSH keys中
a. 登录 github后点击头像 >> settings >> SSH and GPG keys >> New SSH key
b. 添加标题: 可自定义
c. 添加key: 把~/.ssh/id_rsa_hason.pub的内容添加到key中
3. 测试
使用ssh -T git@Host进行测试,其中Host指上面配置的服务器别名
$ ssh -T git@github.com
返回此句表示成功:Hi binlud! You've successfully authenticated, but GitHub does not provide shell access.
4. 分别设置多个git账号的邮箱及用户名
a. 取消全局设置的邮箱及用户名
git config --global --unset user.name
git config --global --unset user.email
b. 分别在每个项目仓库设置邮箱及用户名
git config user.email "xxxx@xx.com"
git config user.name "binlud"
如何初始化仓库及推送至github,请关注博主其他博文