一.概念

  1. 分布式版本控制系统。诞生于Linux社区,有兴趣可以去了解下git的前世今生。
  2. 与集中式版本控制有明显区别。集中式:集中管理的服务器,保存所有的修订版本,协同工作的人通过客户端连接服务器,取出最新文件或者提交更新。分布式:每个人,都有一个版本库,人人平等,每次提取都是代码仓库的一次备份,如果你修改文件A,你同事也修改了文件A,只需要把各自的修改推送给对方即可。

二.git安装

传送门==>https://gitforwindows.org/

下载完后,开始安装git

小乌龟git-LMLPHP

默认安装即可

小乌龟git-LMLPHP

git安装完成。

三.小乌龟安装和汉化

传送门===>https://download.tortoisegit.org/tgit/2.8.0.0/  这是2.8版本,可以自己找需要的版本,然后根据自己电脑配置下载。也可以下载个语言包

小乌龟git-LMLPHP

下载完成后,先安装小乌龟,在汉化。

小乌龟git-LMLPHP

不停的next安装,直到完成

小乌龟git-LMLPHP

完成后,打开下载的语言包进行汉化(针对英语不好的同学)

小乌龟git-LMLPHP

把√打上,语言包就应用上了。查看一下是否都安装完成,很简单。我们在桌面上,右键。

小乌龟git-LMLPHP

已经有git,和汉化的小乌龟。

四.基本操作

在代码拖管平台上,注册和创建项目。如github,开源中国。创建完后,复制项目地址

小乌龟git-LMLPHP

本地创建一个空文件夹,作为本地仓库。在文件夹内,右键->git克隆。url我们刚才复制的地址

小乌龟git-LMLPHP

确认后,还得添加一个git的基本信息配置,右键能看到小乌龟,鼠标停放,然后进入设置

小乌龟git-LMLPHP

拉取时要求输入用户名和密码,就是在代码托管平台上时注册的,之后就开始克隆项目镜像。

已经克隆完毕。这是我们的工作区,我们可以任意在这边修改和添加。我们先尝试添加一个文件试试。

小乌龟git-LMLPHP

创建一个文件,里面随意添加一些内容

小乌龟git-LMLPHP

先进行添加文件操作,现在的操作都是在本地仓库中进行的。

小乌龟git-LMLPHP小乌龟git-LMLPHP

然后把本地的暂存区(可先了解git工作流程)的内容提交到本地仓库。

小乌龟git-LMLPHP

提交到本地仓库后,要推送到代码托管平台。右键进行推送(push)。

小乌龟git-LMLPHP

小乌龟git-LMLPHP

推送成功,我们现在去代码托管平台看看吧。

小乌龟git-LMLPHP

是不是已经推送到代码平台了,然后跟我们同分支下开发的同事。拉取时就能看到了我们的文件。

下面我们对这文件进行删除操作。把刚才我们的test文件删除,提交到本地仓库

小乌龟git-LMLPHP

提交完成后,跟添加操作一样,推送到代码托管

小乌龟git-LMLPHP

在到代码平台查看,发现文件已被删除。

小乌龟git-LMLPHP

修改文件,添加文件夹。也是一样的操作,就不介绍了。

五.分支

我们来玩下分支的概念。

在工作中,我有个想法不确定,不知道是否正确。又不想影响到主干内容,这时,我们就可以创建一个分支,来测试自己的想法。

我们先来看下目前分支的文件内容,待会好跟分支对比。test文件

小乌龟git-LMLPHP

我们来创建一个分支

小乌龟git-LMLPHP

小乌龟git-LMLPHP

分支名称随意,都是自己本地仓库。跟代码平台无关,想怎么玩就怎么玩。。。我取为 ==>deo

我们现在切换到创建的deo分支,看下内容,发现跟原来一样

小乌龟git-LMLPHP

我们现在进行随意更改和添加操作。。。

小乌龟git-LMLPHP

现在我们切换到原来的分支上,看下内容。发现还是和原来一样的(有兴趣可以去了解下git原理,都是基于地址的操作)

小乌龟git-LMLPHP

发现我们想法是正确的,想把之前的内容复制粘贴到这分支上。。如果你这么做,你就out了,现在我们把deo分支内容提交到仓库,然后进行合并分支的操作。

小乌龟git-LMLPHP

小乌龟git-LMLPHP

小乌龟git-LMLPHP

合并完成并删除分支后,我们在看下我们原来分支里的test文件。

六.文件冲突

我们现在人为的制作一个冲突测试。

在代码托管平台,我们test文件删除几行,在本地,不进行拉取,对同一个文件进行修改,并推送给服务器

小乌龟git-LMLPHP

小乌龟git-LMLPHP

小乌龟git-LMLPHP

点解决,对比冲突文件。进行手动解决。

小乌龟git-LMLPHP

小乌龟git-LMLPHP

左边为服务器,内容,我们发现第六行,添加和123645,本地是文字。。。我们进行手动更改

小乌龟git-LMLPHP

然后保存,标记冲突解决。重新进行提交(commit),在进行push操作。冲突解决。

04-27 20:36