Git是什么,相信大家都很清楚。Git不就是分布式版本控制系统嘛?那你知道TortoiseGit是什么吗?下面我们就介绍一下TortoiseGit它是什么?如何使用? ??TortoiseGit其实是一款开源的git的版本控制系统,也叫海龟git。TortoiseGit提供了人性化的图形化界面,不用像Git一样输入许多语句,像git init、git add、git commit这些语句就通通不用记了。轻松使用鼠标,就可以完成代码的提交和上传。对于使用本地Git的新手来说,TortoiseGit更加简便,更加容易上手。 ??Git的流程分为一个大循环和一个小循环。工作区就是我们一开始文件所存在的区域,然后选择添加文件后,文件就进入了暂存区,选择提交文件后,文件就进入了本地仓库,这是一个小循环。当从远程仓库拉取代码时,代码会直接拉取到工作区,然后我们要添加、提交,然后才可以把拉取的代码放入本地仓库,本地仓库的代码可以通过推送,推送到远程仓库,这是一个大循环。  ??下面我用TortoiseGit来演示一些我们常用的git操作。 ??创建仓库  ??添加、提交文件到本地仓库 ??新建一个111.txt文件,点击添加  ??成功添加后,文件变成蓝色字样  ??选择文件,点击提交  ??输入提交的信息后,点击提交  ??提交成功后,文件变成绿色字样  ??当文件被修改后,文件变成红色字样  ??查看、回溯历史版本 ??多次提交后,我们可以查看每次提交的信息,并且可以选择版本进行回溯  ??选择需要追溯的版本  ??选择切换版本,把文件还原到之前的版本   ??还原误删文件 ??当把已经提交的文件误删了,可以进行还原   ??上传、下载文件  ??在这里输入你的仓库的https连接  ??点击推送,可以上传文件;点击拉取,可以下载文件  ??在推送和拉取文件时,可能会出现冲突。什么是冲突呢,就是你远程仓库的代码发生了改变,也就是你本地仓库的代码并不是最新的代码。举个例子,学生项目由A和B共同开发,此时的代码是1版本。A拉取了远程仓库1版本的代码,然后B也拉取了,B修改了代码然后重新上传到远程仓库,此时是2版本。然后A修改了,A想上传代码,发现冲突了,原因是A依靠的是1版本的代码进行了修改,而此时远程仓库的代码是2版本,这样当然会产生冲突。 ??解决冲突的办法就是,先把远程仓库的2版本的代码进行拉取,然后TortoiseGit会列出冲突的文件代码,然后自己手动解决、选择自己需要的代码,右键选择解决冲突,最后再重新上传就可以了。
创建、切换、合并分支 ??我们先解释一下分支的概念,一开始的分支是master分支,master分支是创建仓库时自动创建的分支,也是默认分支。Git通过HEAD指针的指向,来查看当前是哪个分支。master指针指向的是master分支,当master分支版本更新的时候,master指针就会后移,指向最新版本。  ??假如我们新创建了一个dev分支,新创建的分支一开始是和当前的master分支的版本内容都是一样的。我们切换到dev分支,HEAD指针也会指向dev分支。  ??不同分支之间的开发,是并行开发,互不影响的。我们也可以对分支进行合并,这叫做合并分支,把两个不同分支合并起来。  ??下面我们来演示一下具体操作。 ??创建分支   ??切换分支   ??合并分支:选择分支与当前分支合并,合并后的分支为当前分支  
|