1.清除已有的global全局设置(针对曾经设置过的用户,如果没有设置过则不用清除) 使用过下面的指令清除设置过的全局的user.name 和 user.email
设置:
$ git config --global user.name "你的名字"
$ git config --global user.email "你的邮箱"
清除:
$ git config --global --unset user.name "你的名字"
$ git config --global --unset user.email "你的邮箱"
2.生成指定名字的SSH公钥 ——> 这也是关键
这里好像是要提前建立空文件的!
$ ssh-keygen -t rsa -C '123456@qq.com' -f ~/.ssh/gitee_id_rsa
$ ssh-keygen -t rsa -C '1558637209@qq.com' -f ~/.ssh/meituan_id_rsa
生成不同的ssh,配置给不同的平台,如gitee,gitlab,github等
注意:报错Saving key "~/.ssh/github_id_rsa" failed: No such file or directory
创建 SSH 密钥: 如果你没有 SSH 密钥对或想要创建一个新的,请使用
ssh-keygen
命令创建 SSH 密钥对。例如:注意:在 .ssh文件夹下执行如下命令!
bashssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这将创建默认名称的 SSH 密钥对(id_rsa 和 id_rsa.pub)在
~/.ssh/
目录下。可以手动输入名字:meituan_id_rsa
重新保存 SSH 密钥: 如果你已经创建了新的 SSH 密钥对,请重新保存它们到正确的路径。可以使用
ssh-add
命令,例如:windows里面无法直接使用ssh-add命令,因为默认不支持ssh,需要首先在git bash里面启动ssh客户端:
设置环境变量:
然后再运行命令:
bashssh-add ~/.ssh/id_rsa
3.创建config文件 ——> 主要就是这里
在 ~/.ssh 目录【C:\Users\用户名.ssh】下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
# github
Host github.com #域名
HostName github.com #域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
注意:就算gitee_id_rsa、github_id_rsa这些文件的内容一样也没关系,只要保证本地的key和官网的内容一样即可!
注意:每次新创建的key都需要重新添加到这个文件里面!这样才行!
4.给特定的仓库单独配置用户名和邮箱
(否则推送会报错:Author identity unknown Please tell me who you are.,但是克隆不会报错)
在仓库进行git init之后进行配置即可:
git config user.email "your-email@example.com"
git config user.name "Your Name"
5.使用idea或者vscode或者命令行的方式进行仓库的推送提交等操作!
git config user.name "郝文海"
git config user.email "1558637209@qq.com"
git config user.name "haowenhai"
git config user.email "haowenhai@songshuai.com"
直接生成sshkey呢?(适用于mac系统)
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
# Generating public/private ed25519 key pair...
#注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
#现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。
按照提示完成三次回车,即可生成 ssh key
通过查看 ~/.ssh/id_ed25519.pub 文件内容,获取到你的 public key
cat ~/.ssh/id_ed25519.pub
# ssh-ed25519 AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....