# GIT生成私钥对
1. ## Git配置用户名和邮箱
- 查看git的配置列表
git config --list
如果没有配置东西,应该是空的。照着下面配置完成后,你可以再试一下该命令,就会出现一系列配置信息。
- 进行配置
- ### 命令行配置
> git config --global user.name "username"
> git config --global user.email "email"
将username和email换成github(或者其它类似远程仓库)的用户名和邮箱。
- [ ] 全局变量
**--global** 表示全局的,即当前用户都有效,该配置会出现在 ~/.gitconfig 文件中,~表示当前用户的目录,比如我的是:C:\Users\username\.gitconfig
- [ ] 局部变量
既然有全局的,那么肯定有局部的啊!局部的是不加 --global 的,如下:
git config user.name "username"
git config user.email "email"
**局部是只对当前仓库起效的,它的配置信息会在当前仓库根目录/.git/config文件下:**
![img](https://www.icode9.com/i/ll/?i=2019051116453060.png)
### 注意:局部变量覆盖全局变量!!!和编程语言里面的变量关系是一样的。
- ### 修改已配置的信息
假如配置后,发现有信息配置错了,如何进行修改?
- [ ] 用命令修改
这里演示修改本地仓库的用户名和邮箱:
> git config --replace-all user.name "name"
>
> git config --replace-all user.email "123@qq.com"
修改后是这样的:
![img](https://www.icode9.com/i/ll/?i=2019051117034924.png)
- [ ] 修改对应文件进行修改
2. ## 生成SSH公钥
- ### 使用git生成ssh密钥
1. 打开 Git Bash。
2. 输入 ls -al ~/.ssh 以查看是否存在现有 SSH 密钥:
> $ ls -al ~/.ssh
检查目录列表以查看是否已经有 SSH 公钥。 默认情况下,公钥的文件名是以下之一:
id_rsa.pub id_ecdsa.pub id_ed25519.pub 如果您没有现有的公钥和私钥对,或者不想使用任何可用于连接到
GitHub 的密钥对,则生成新的 SSH 密钥。
3. 没有ssh密钥,创建新的ssh密钥:
> **ssh-keygen -t rsa -C "526861348@qq.com"**
>
> 生成公钥和私钥
> 按3次Enter,
>
> 不需要设置名称与密码
>
> **cat ~/.ssh/id_rsa.pub**
>
> 查看公钥
文件路径是:C:\Users\Administrator\.ssh
![img](https://www.icode9.com/i/l/?n=18&i=blog/1321829/201809/1321829-20180923145000266-126090604.png)
3. ### GitLab添加公钥
![img](https://www.icode9.com/i/l/?n=18&i=blog/1321829/201809/1321829-20180923145952625-1091134478.png)
![img](https://www.icode9.com/i/l/?n=18&i=blog/1321829/201809/1321829-20180923194952152-1504383058.png)
![img](https://www.icode9.com/i/l/?n=18&i=blog/1321829/201809/1321829-20180923150612509-1332309597.png)
> ssh -T git@192.168.1.105
测试配置文件是否正常工作:
![img](https://www.icode9.com/i/l/?n=18&i=blog/1321829/201809/1321829-20180923183407601-1191256033.png)
### 4.使用TortoiseGit来下拉代码配置
- **生成.ppk文件**
如果配置了相关环境变量,么可以直接在**cmd**中打开**puttygen**(也可以到TortoiseGit的安装路径下找到**C:\Program Files\TortoiseGit\bin\puttygen.exe**)
点击下图中规定**load**加载私钥**id_rsa**,然后点击**Save private key**生成TortoiseGit需要使用的ppk文件**(id_rsa.ppk)**
![img](https://www.icode9.com/i/i/?n=15&i=blog/823551/201605/823551-20160506170224560-1357892177.png)
- **配置TortoiseGit客户端**
打开**TortoiseGit**设置页面,配置相关参数如下:配置用户名和邮箱,配置服务器代码路径和上面得到的**id_rsa.ppk**路径,进入TortoiseGit的**Settings**页面,点击左边导航栏的Git目录,**设置用户名和邮箱(Name, Email)**,Name会在提交代码的时候显示出来,如果之前使用**git config**配置过,这里也可以不用配置的。
![img](https://www.icode9.com/i/i/?n=15&i=blog/823551/201605/823551-20160506171731263-645096017.png)
**Putty是id_rsa.ppk文件路径,****至此就可以使用TortoiseGit正常工作了,可以试试pull,commit等功能。**
5.**如何在TortoiseGit(pageant)中自动导入ppk文件**
在安装完TortoiseGit,通过PuTTYgen生成完rsa, ppk等文件后,要想pull文件,还得每次在TortoiseGit启动时,在pageant中手动导入ppk文件,很是烦人。
下面就是解决TortoiseGit每次启动时需要手动导入ppk文件的问题。
**方法一:**
1. 进入Git项目的目录,右键空白处,打开“TortoiseGit > Settings”
2. 选中“Git > Remote”
3. 选中正确的origin
4. 在Putty一栏选择正确的ppk文件
5. 点确定
**方法二:**
1. 在“启动”菜单中打开“启动”目录,Windows7一般在C:\Users\hairong\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2. 右键空白处,选择新建快捷方式
3. 选择pageant的位置,并按填入ppk的位置,例如"C:\Program Files\TortoiseGit\bin\pageant.exe" C:\Users\hairong\.ssh\id_rsa.ppk
4. 修改快捷方式的名字为“pageant with ppk”,并保存
5. 系统每次启动后就会自动加载ppk了