生成SSH密钥
macbook打开终端(Windows打开git bash),执行命令:
ssh-keygen -t rsa -C "账号1邮箱地址"
然后它会在~/.ssh
目录下,生成id_rsa和id_rsa.pub两个文件。
上述是只有一个账号时,默认生成的密钥文件。
当我们有另外的账号时,需要指定密钥文件的名称。
ssh-keygen -t rsa -C "账号2邮箱地址" -f ~/.ssh/github_rsa
此时,会生成另外账号2对应的密钥文件:github_rsa和github_rsa.pub
GitHub配置
在github官网,前往设置:Settings --> SSH and GPG keys
点击New SSH key,然后将对应账号的xxx_rsa.pub文件中的内容复制进去,这样你的电脑就可以免密SSH连接到你的github仓库了。
多账号管理
在~/.ssh
目录下,我们新建一个config文件(不要有后缀),填入以下内容
# github-1
Host git_1
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
PreferredAuthentications publickey
# github-2
Host git_2
HostName github.com
User git
IdentityFile ~/.ssh/github_rsa
PreferredAuthentications publickey
一个Host一个账号,IdentityFile必须与该账号的密钥文件对应。
测试:
你可以通过命令ssh -T git_1
,如果输出以下内容,证明已经配置成功了。
多账号多GitHub项目
到这里,实际上在当前电脑,你配置的所有GitHub账号里面的所有项目,你都是可以进行提交操作的。
选择账号操作git项目
我们是可以选择账号身份,进行对项目的提交操作,即在提交之前,先配置提交的账号身份。
git config user.name '账号1'
git config user.email '账号1邮箱'
这个账号配置是临时,你下次需要重新设置。
或者,全局设置,即每次提交都以固定一个账号,不用重新设置。
git config --global user.name '账号1'
git config --global user.email '账号1邮箱'
pycharm或idea 多账号
通过账号邮箱和密码进行添加,多个账号即多次添加即可。
新版本的github好像不支持账号密码的方式,我们需要用token的方法。点击Log In上方的Enter token:
token获取
GitHub官网,进入设置Settings --> Developer settings,然后选择Personal access tokens,再点击Generate new token,然后把下面Select scopes里面的所有权限选上打勾,最后点击最下方的Generate token按钮即可。
需要注意:这个token只出现一次,记得复制起来哟
选择账号提交
其实,这里有点人性化,在选择账号的时候,只能选择曾经提交的账号。
所以,以前没有提交过的账号,只能在终端命令行中,先以“git commit”命令提交一次,然后就可以在pycharm中提交了。