安装 git

下载地址:https://git-scm.com/

创建 sshKey

1
2
3
4
5
6
7
8
9
10
11
12
13
# 切换目录到.ssh下
cd ~/.ssh

# 生成私钥 (可以根据自己的需求生成多把,比如私人和企业使用不同的邮箱地址)
ssh-keygen -t rsa -C "youremail@example.com" -f [id-rsa-name]
# eg: ssh-keygen -t rsa -C "123@example.com" -f id-rsa-personal

# 添加私钥 (因为默认私钥名称为id_rsa,为了可以识别自定义的密钥需要执行一下指令)
ssh-add ~/.ssh/[id-rsa-name]
# eg: ssh-add ~/.ssh/id-rsa-personal

# 注意!如果以上执行出现Could not open a connection to your authentication agent. 先输入一下指令 再重试上一步骤
ssh-agent bash

生成密钥如下:

.ssh.ssh

在 git 远程仓库中添加 ssh-key

  • github 为例:
    1. 用户头像 -> settings -> SSH and GPG keys -> New SSH Key
    2. title 随意,建议使用生成 key 时的邮箱地址
    3. key 填写 生成的 [id-rsa-name].pub 文件 里的一串字符
    4. Add SSH Key

github 设置ssh-keygithub 设置ssh-key

配置 config 文件

Host 为别名 可以随意,建议与 HostName 一致
HostName 为 git 远程仓库 ip 地址或域名
IdentityFile 为该仓库添加的公钥对应的本机私钥地址,也就是~/.ssh/路径下的私钥
PreferredAuthentications 为验证方式,这里通过共私钥方式 所以如下设置即可

1
2
3
4
5
6
7
8
9
10
11
Host github.com
HostName github.com
PreferredAuthentications publickey
User youremail@example.com
IdentityFile ~/.ssh/id_rsa_personal

Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
User youremail@example.com
IdentityFile ~/.ssh/id_rsa_personal

链接测试(必须)

这个步骤是必须的,否则在或许的操作这可能会出现无法 push 或者 clone 项目的问题。

1
2
ssh -T git@github.com
ssh -T git@gitee.com

如果返回 Hi [用户名] … 表示成功。

.ssh.ssh

项目使用

我们这里不设置全局的用户名和邮箱,防止不同的项目中使用了错误的用户名或邮箱,在没有全局用户名邮箱时,在新项目中使用 git 会提示没有设置用户名邮箱,这样可以提醒我们为这个项目设置本地的用户名邮箱。

1
2
3
4
5
6
7
8
9
10
# 进入项目文件下
cd your-project-path

# 设置本地用户名邮箱
git config --local user.name "xxx"
git config --local user.email "xxx@xxx.com"

# 如果你依然需要设置全局的:
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.com"

完成!