配置Git多用户

假设之前已经有了一个git账号,现在需要添加一个git账号。

生成ssh key

cd ~/.ssh

ssh-keygen -t rsa -b 4096 -C "test@qq.com"

《配置Git多用户》

  • 红色框内是ssh private key保存的文件名称。不填就是默认的id_rsa。(如果id_rsa已存在,还使用该名称存储新生成的ssh private key,之前的文件就会被覆盖掉)
  • 这步执行完会生成两个文件,按照我填的名称,会多出来两个文件,test_id_rsa和test_id_rsa.pub

新生成的ssh private key 添加到ssh-agent中

ssh-add -K ~/.ssh/test_id_rsa

《配置Git多用户》

  • 可以用ssh-add -l 命令查看都有哪些key被ssh-add过了

《配置Git多用户》

ssh public key 添加到GitHub或者gitlab中

  • 以Github为例
pbcopy < ~/.ssh/test_id_rsa.pub

该命令将public key 复制到粘贴板中
依次进入到Github/Settings/SSH and GPG keys/New ssh key中,粘贴
至此public key和private key都配置完毕

config配置

将ssh key 都填完,接下来还需要写一个config文件

cd ~/.ssh
vim config

config文件中的内容如下:

Host host1
   User user1
   Hostname github.com
   IdentityFile ~/.ssh/id_rsa
Host host2                #相当于是一个别名
   User user2
   Hostname github.com    #如果是自己搭的gitlab那就可能是code.test.com这种
   IdentityFile ~/.ssh/test_id_rsa

例如 github上的laravel框架

《配置Git多用户》

地址是:git@github.com:laravel/laravel.git
当我们想用user2,也就是新增加的账号进行操作时,需要把地址从:
git@github.com:laravel/laravel.git 改为:
git@host2:laravel/laravel.git

git clone        #下载代码
git config -l    #查看配置(会发现user.name和user.email还是之前的值)
git config user.name "yourGithubName"
git config user.email "test@qq.com"    #这两个git config是修改当前项目的git配置

这样操作之后就可以针对某个项目用新的git账户配置了(当然laravel这个项目还不行。因为你不是Contributor)

参考文章链接:

ssh-add 命令
Connecting to GitHub with SSH

    原文作者:毛阳光很阳光
    原文地址: https://segmentfault.com/a/1190000020233115
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞