假设之前已经有了一个git账号,现在需要添加一个git账号。
生成ssh key
cd ~/.ssh
ssh-keygen -t rsa -b 4096 -C "test@qq.com"
- 红色框内是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
- 可以用ssh-add -l 命令查看都有哪些key被ssh-add过了
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@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)
参考文章链接: