假设之前已经有了一个 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
git config user.name "yourGithubName"
git config user.email "test@qq.com"
这样操作之后就可以针对某个项目用新的 git 账户配置了(当然 laravel 这个项目还不行。因为你不是 Contributor)
参考文章链接: