- 查看已有
密钥
Mac 下输入命令ls ~/.ssh/,看到id_rsa与id_rsa_pub则说明已经有一对密钥。 - 生成新的公钥,并命名为
id_rsa_work(保证与之前密钥文件名称不同即可)ssh-keygen -t rsa -f ~/.ssh/id_rsa_work -C "yourmail@xxx.com" - 在
.ssh文件夹下新建config文件并编辑(touch config可以创建一个config的文件),另不同Host实际映射到同一HostName,但密钥文件不同。Host前缀可自定义,例子中work1
2
3
4
5
6
7
8
9Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
Host work.github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work - 将生成的
id_rsa.pub、id_rsa_work.pub内容复制到到对应的 repo
参考教程: 使用SSH密钥连接Github【图文教程】 - 测试 ssh 链接
1
2
3$ ssh -T git@work.github.com
$ ssh -T git@github.com
#提示:Hi IEIT! You've successfully authenticated, but GitHub does not provide shell access.出现上边这句,表示链接成功 - 现在开始使用新的公私钥进行工作吧
- 情况一:将项目
clone到本地,folder-name是本地文件夹路径1
$ git clone git@work.github.com:xxx(用户名)/xxx(项目名).git folder-name
- 情况二:
1
2
3
4
5
6$ echo "# bbb" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin git@work.github.com:ijcad/bbb.git
$ git push -u origin master - 情况三:
1
2
3
4$ git clone git@github.com:xxx/xxx.git folder-name #原项目地址
$ git remote rm origin
$ git remote add origin git@work.github.com:XXX/XXX.git #重新链接新的远程仓库
$ git remote -v #查看远程仓库有没有成功
- 情况一:将项目
- 进入
folder-name项目目录。单独设置取消全局用户名/邮箱设置- 第一步:取消全局
用户名/邮箱配置1
2$ git config --global --unset user.name #取消全局用户名
$ git config --global --unset user.email #取消全局邮箱 - 第二步:单独设置每个repo
用户名/邮箱配置1
2$ git config user.name "xxxx" #单独设置用户名
$ git config user.email "xxxx@xx.com" #单独设置邮箱
- 第一步:取消全局
- 添加
README.md文件修改完后保存。完成。1
2
3
4$ echo "# bbb" >> README.md
$ git add README.md
$ git commit -m "update README.md"
$ git push -u origin master