【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、关联远程仓库
这里的四个选项:
- 远端仓库名称,一般交origin
- URL:远程仓库地址
- 推送URL:同上
- 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:
结果失败了,因为有冲突:
查看文件:
手动解决:根据需求去处理。这里我们假设两者都保留:
标记为解决:
解决完成,直接提交:
提示信息:
查看日志: