赞
踩
为不同的账号生成不同的密钥,命令:
$ssh-keygen -t rsa -C "youremail@example.com"
邮箱可以随便填。
然后选择生成的位置,每个账号对应一对公钥和私钥。生成的位置自行选择,我都配置在默认的.ssh目录下。
输入位置后按两次回车即可。
这里我生成的是id_rsa_work和id_rsa密钥对(名字随便取)。
打开.ssh目录的config配置文件,Windows在C:\Users\xxx.ssh\config,Linux在~/.ssh/config。然后使用任何编辑器打开,我这里使用vscode编辑:
在config中写入:
Host git_work
User git
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_work
Host git_person
User git
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
这里解释一下:
1、Host就是对这个ssh配置取一个名字,可以随便取,但是最好是英文,因为后面的命令中会用到这个Host。
2、User就是登录的用户名,连接仓库只能是git。(因为github就是只能使用git账户登录嘛)
3、HostName就是远程仓库的IP地址,可以上github.com,也可以是其他域名。
4、PreferredAuthentications就是先用用户名验证。
5、IdentityFile就是使用指定的私钥进行验证。
所以这里有两个配置,分别对应不同的git账户。
进入github官网的仓库地址,然后设置SSH,把该仓库对应的公钥复制过去即可。比如我这里就是id_rsa_work.pub文件。
这时先到github上复制远程仓库的ssh地址,然后执行命令:
git clone SSH配置的Host:远程仓库地址.git
例如:
克隆的地址是:
ssh://git@xxx/a/b.git
其中xxx对应github.com或者其他域名,然后执行:
git clone git_work:a/b.git
其中git_work就是ssh中config的配置名Host。
记得删除先全局的用户名和邮箱:
git config --global --unset user.name
git config --global --unset user.email
再在此项目下新加用户名和邮箱:
git config user.name "用户名"
git config user.email "邮箱"
成功后即可正常使用vscode的git版本管理。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。