TortoiseGit简单使用说明
此文讲解如何使用Git版本的小乌龟插件
由于git默认的黑窗口对于部分开发人员特别是美术人员比较不太友好,所以很多人会选择使用可视化的TortoiseGit(小乌龟)插件来协作开发
安装
首先必须先安装git,
无脑下一步安装完毕,如需了解git如何使用,可以参考本人另外一篇文章
然后下载小乌龟插件,可以随意搜索下载,或者使用如下地址下载
无脑下一步安装,成功以后右键菜单会添加小乌龟按钮

使用方法
先来一张最简化的流程图,上下两部分分别用文字或者命令来解释流程
.jpg)
如果有使用过SVN的同学,在这里要说明git与SVN在使用上会多一步操作,也就是git分布式特点的体现,
git会有本地仓库一个概念,SVN的Commit意味着已经把本地修改推送到了远程服务器端,但是git的commit只是提交到本地仓库,在本地仓库存储着几乎与远程服务器同步的信息,包括所有文件信息、提交日志、分支信息等,也就意味着git可以在没有网络的时候也同样可以维护着一个仓库内容,在需要的时候在同步到远程服务器,这一点对于人数比较多的团队协作开发是优于svn的
环境
在正常使用小乌龟之前,需要先配置一下环境
如果使用GitHub仓库,需要到GitHub去注册一个账号,比较简单此步忽略
如果是本地仓库的协作开发的,用已经搭建好的本地仓库ip去注册(例如192.168.1.111),然后需要管理员授权以后就可以参与开发
然后在开发之前,需要生成本地密钥,作为开发权限的一种判定
打开小乌龟安装目录,打开PuTTYgen
界面如下

用Generate来生成密钥,或者如果你已经用git生成过密钥,就可以使用Load选项来加载之前生成的私钥,记得勾选AllFile选项
然后进入如下界面

用 SavePublicKey和SavePrivateKey按钮来保存一份本地的密钥文件,我这里把私钥保存为了toPrivate.ppk文件
接下来进入下一步
打开软件Pageant,双击以后如果没有出现窗口记得在右下角找到一个图标,打开以后如下窗口

点击AddKey添加刚才保存的密钥(toPrivate.ppk)
如果到这里之前的步骤提示你需要输入账户/密码的,这是git初始化的时候需要初始化账户,请参考我的git文档完成这一步
目前掌握的信息每次电脑启动时都需要手动添加key,此坑先留着,以后研究
至此,小乌龟的环境已经配置完毕
拉取测试
我在github上有一个测试仓库,我们直接用此仓库来进行测试
地址为git@github.com:VJien/Test.git
右键GitClone,输入URL,保持其他默认,点击OK
拉取成功

修改/提交
我们来对test.txt文件做个修改,然后在新建要给文件 1.txt
test文件里面我们加入一些字符串,保存以后该文件变为红色感叹号
在该目录下右键小乌龟选择Dif,我们在同时用GitBase窗口来对比一下
看到如下提示,表示该文件被修改了

可以右键单击一个文件来选择回退(Revert)或者提交(Commit),似乎不需要Add操作,对于新创建的文件1.txt会不一样,一般需要先Add 再Commit,对于用惯了黑窗口的我来说,这里还是有区别的


这里我们直接点击大窗口下面的Commit提交测试一番

在Message里输入本次提交的名称,记得输入容易查找的名称,万一以后翻看日志如果发现都是 一对0102之类的会很崩溃
点击Commit显示成功

在该窗口上有Push按钮,不过一般我们需要先Pull合并远程仓库的内容(除非是单人开发)


无论是Pull还是Push都需要选择正确的分支,即上图的RemoteBranch,因为不同的分支是用于不同功能或者人员使用的,同时也需要比对本地的分支信息
拉取成功以后可以在窗口按钮里找到拉取信息差异对比等,这个自行测试
然后是提交,一般选好分支,其他保持默认选项


常用功能
先来一个所有功能的图

add
标记需要提交的文件,在GitBase内是所有修改和新创建的都需要add的,在小乌龟里需要对新创建的进行add操作
Switch/Checkout/CreateBranch

创建新的分支和切换分支,类似GitBase的git checkout -b 分支/git checkout 分支操作
- Revert
回退操作,test文件修改以后即红色感叹号的形况下,点击Revert后见下图

选中点击OK以后就将此文件回退到之前版本
Resolve
解决冲突,这个是新手非常头大的一个问题,也是经常会出现的问题
我在其他文件拉取了这个工程,然后对test文件做了修改,然后回到此文件下同时对test文件修改,这一操作就模拟了协作开发时的冲突问题
然后拉取以后就发生冲突了

然后点击resolve选项进行处理

第一个选项可以看冲突信息,当然不是所有文件都可以看到;同时也可以在下图所示的地方选择使用哪个版本的内容

第3,4选项分别选择使用远程还是本地
解决完成后就再commit->pull->push操作,中间如果有警告出现可以忽略直接进行下一步
merge
在合并分支之前,首先要确保本地有需要合并的分支信息,比如master分支需要合并test分支,但是test分支是在远程电脑上创建的,本地还没有这个分支,那就先需要进行fetch操作
然后就可以找到所有分支了
使用merge操作就可以把test分支合并到本地