【Git】教程TortoiseGit(小乌龟)配置SSH和使用

 1、TortoiseGit(小乌龟)配置SSH

Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥。(有HTTPS协议和SSH协议 SSH协议好像更安全)

预装软件git(Windows版)和TortoiseGit(小乌龟)

设置全局属性

1.1、右击打开Git命令窗口

1.2、设置Git的全局name和email

(在我们执行git pull等一些操作的时候,会提示你它不知道你是谁,你就需要配置name和email.)

git config --global user.name "xx"      git config --global user.email "xx@163.com"

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱可以qq,可以网易。现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。 

1.3、查看是全局名字和邮箱是否设置成功

git config –list(查看配置的信息)

1.4、生成 sshkey秘钥

1、查看是否已经有了ssh秘钥:cd ~/.ssh  一般都是C:Usersshlc4.ssh 里面有两个文件一个是公钥文件id_rsa.pub 一个密钥文件id_rsa

如果有这个文件会无法生成新的秘钥需要提前删掉或备份,第一次安装是没有的,不用管

输入命令如图提示说明没有这个路径则进行下面操作 

2、生成密钥:

2.1生成公钥

ssh-keygen -t rsa

按照提示完成三次回车,即可生成 ssh key(如图所示)。生成了了id_rsa和id_rsa.pub

3、查看id_rsa.pub公钥

cat ~/.ssh/id_rsa.pub

4、复制选中内容添加到Gitee上 点击个人头像 「设置」->「安全设置」->「SSH公钥」 ,添加生成的 public key 添加到仓库中。(将id_rsa_pub公钥配置到gitee) 

5、生成known_hosts文件(三个文件缺一不可)

添加后,在Git命令窗口中继续输入

ssh -T git@gitee.com

 

四、最重要的一步找到 ssh.exe,否则的话会报各种各样的错误,有权限不足,有让你输入git账户密码的,因为小乌龟和git有一定冲突默认路径是C:Program FilesTortoiseGitbinsshaskpass.exe需要改成C:Program FilesGitusrbinssh.exe

 应用确定一下就可以了,后面就可以使用ssh方式从gitee仓库克隆拉取代码

2、TortoiseGit(小乌龟)的使用

2.1、创建本地仓库

我们新建一个空的文件夹:

然后进入tortoise目录,右键操作:

 

弹出提示,不要勾选:

 

查看目录,发现生成.git文件夹:

 

2.2、添加文件并提交

创建新的文件:

编写内容:

在文件夹中右键操作:

 提示:这一步等同于我们的 git add readme.txt

此时直接点击提交,即可完成:git commit 操作:

 

提示:

 

2.3、管理修改 

2.3.1、差异对比

修改readme.txt:

右键操作:

 结果:

2.3.2、提交修改 

直接在文件上选择右键,提交即可:

2.3.3、查看提交日志

选中文件,右键菜单中,选中查看日志:

提交的日志信息:

 2.3.4、版本回退 

现在我们再次修改readme.txt,并且提交

查看日志:

 

假如我们要回到上一个版本,也就是第2次提交。

我们选中第2次提交,然后右键,选中:重置**“master”**到这个版本

弹出菜单,这里选中Hard模式,然后确定:

 

再次查看日志,只剩下第1和第2次提交了。并且HEAD已经设置到了第2次提交位置

文件也回滚了: 

如果我现在后悔了,想再次回到第3次提交怎么办?现在连日志都没有了!

此时,在空白处点击右键,选中 显示引用记录

弹出所有操作的日志信息:

 

现在,我们找到第3次提交,右键,选中:重置**“master”**到这个版本

 结果,第3次提交又回来了!

文件内容回来了:

 

2.3.5、撤销修改 

我们现在修改文件:

 

现在后悔了,想要还原到修改以前。

我们可以选中文件,右键。然后选中菜单:还原。

点击确定:

 

还原成功:

查看文件: 

2.4、访问远程仓库

2.4.1、设置tortoise的SSH

由于安装时,我们并没有设定SSH信息,因此默认tortoise默认使用的ssh工具是“PuTTY”。

然而,git Bash使用的ssh工具是“openSSH”,如果想让TortoiseGit也使用刚才生成的密钥可以做如下配置:

找到git安装目录下的ssh.exe文件:

 

2.4.2、关联远程仓库 

这里的四个选项:

  1. 远端仓库名称,一般交origin
  2. URL:远程仓库地址
  3. 推送URL:同上
  4. Putty密钥:我们用git bash 生成的私钥。

2.4.3、推送本地仓库

 在空白处点右键,选择 “Git**同步**”:

弹出菜单中,选择将master推送到远程仓库的master:

 

成功:

 私服中也显示了最新的信息:

2.4.4、从远程仓库拉取 

现在,我们先在远程仓库修改数据:

然后在本地的tortise文件夹点击右键,菜单中选择:拉取:

 

 

成功:

 

查看文件:

 

2.5、分支管理 

2.5.1、创建分支

在文件夹的空白处点击右键。选择创建分支:

填写分支名称和说明

查看日志,发现已经有了dev分支:

 

2.5.2、切换分支

在空白处选择右键,菜单中选择: 切换**/**检出

选择要切换的分支

 

在dev分支中。修改readme文件

提交修改。

然后切换到master:

查看文件内容,发现并没有变化,因为刚才的修改是在dev完成的。master没有影响。

2.5.3、合并分支

空白处点击右键,选择合并菜单

选择将dev合并当当前分支:

 

成功:

 

查看内容:

 

2.5.4、解决冲突

切换到dev,然后进行修改

提交数据。

切换到master,修改readme:

 

然后提交修改

尝试用master合并dev:

结果失败了,因为有冲突:

 

查看文件:

 

手动解决:根据需求去处理。这里我们假设两者都保留:

 

标记为解决:

解决完成,直接提交: 

提示信息:

 

查看日志: