git config --global user.name "自定义用户名" git config --global user.email "邮箱"
查看当前的全局变量
git config --global --list
取消全局设置命令
git config --global --unset user.name git config --global --unset user.email
查看本地是否有SSH设置
ls ~/.ssh
如果提示没有目录则没有
生成公钥和私钥
ssh-keygen -t rsa -C "邮箱"
Enter file in which to save the key
输入保存的目录,默认用户目录下
Enter passphrase (empty for no passphrase):
输入密码,回车默认没有
Enter same passphrase again:
再次输入密码
执行ssh-agent命令
ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程
添加私钥,执行下面命令
ssh-add ~/.ssh/id_rsa
在执行上面的添加私钥命令时,如果出现如下错误:Error connecting to agent: No such file or directory
开启ssh-agent:ssh-agent 报错:
unable to start ssh-agent service, error :1058
则通过win+R打开services查看 “OpenSSH Authentication Agent” 服务是否开启,如果是 “disabled”(可能是win10自动更新给仅用了) 则将服务设为"Automatic"然后开启服务即可
添加私钥到github上,选择setting-->SSH and GPG keys-->New SSH key,把id_rsa的内容粘贴进去
输入
ssh -T git@github.com
提示下图
则为成功
生成多个ssh key时,不同的key需要放置在不同的目录,同时在.ssh目录下添加config文件,内容模板为:
# gitlab Host gitool.glanway.com HostName gitool.glanway.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_gitlab User mingyue # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_github User mingyue
每个账号单独配置一个Host
,每个Host
要取一个别名,每个Host
主要配置HostName
和IdentityFile
两个属性即可
Host
的名字可以取为自己喜欢的名字,不过这个会影响git相关命令
例如:
Host mygithub
这样定义的话,命令如下,即git@
后面紧跟的名字改为mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
就相当于你配置的HostName
真正的域名,映射成了Host
后面的配置的名字