Git版本管理工具使用详细介绍

一、引言

跟你们吐槽一下,最近小编的工作制度也改成996,怎么说? 是好是坏呢?

网上很多小伙伴也在吐槽,刚开始小编也是挺反感的,毕竟之前周末一些坚持的习惯,因此都需要改变。

既然公司选择了996,我们也就不必抱怨什么了,要么选择离职、要么选择接受。

对于小编来说有好有坏,好的是:有更多的时间来学习之前没时间学习的内容

好了,多说无益,本章介绍使用Git整个基本使用流程。

 

二、为什么要使用版本管理工具

备份文件我们在日常开发中,代码备份必不可少。可以采用移动硬盘、网盘的形式来备份,但是以这种形式也有很多弊端。我们程序员一天的工作量都写在几个文件里面,如果说因为一些未知因素导致丢失了,这种情况损失还是挺大的。

历史记录:即使我们上面所说,通过硬盘、网盘来备份,也只能保存当前最新的文件。而版本工具可以备份每一次所提交的代码,以及可以记录详细的修改信息,比如说某一行代码是谁在什么时候进行提交的。

版本回退:当我们在开发过程中,也难免一些刚刚入职的同事不小心对代码所造成的伤害难以弥补的时候,这个时候我们也可以通版本管理工具,将当前的代码回退到之前提交的某个版本。

多端共享:提供进行团队合作使用,总不能同事A写了一个方法,同事B需要用到这个方法,总不能让同事A拿着硬盘拷贝过去吧,所以采用管理工具只需将代码提交即可。 

三、管理版本工具发展史

CVS:年轻一代的程序员绝大都不会知道CVS这个玩意,这个CVS是由一位教授开发的,可以说它是版本管理的始祖。具体听说是当时一位教授带着几名学生开发,在代码合并、备份方面上特别不人性化,所以开发了这么一套东西。CVS是集中式的,我们更新、上传文件都是通过这个集中式的服务来完成,只需要有网络连接上这个服务即可。

SVN:那么到了2000年,有国外的一个团队研发了SVN,更加推广发扬了版本管理工具,也包括我们现在很多公司也都在使用SVN,SVN本身也是很强大的,该有的功能应有尽有。也包括目前小编的公司也是在使用SVN,说到这里我会想到小编在学校刚刚使用svn的时候,那时候组员对SVN这些东西也都不熟悉,每次更新代码都是一堆报错,还有些把代码弄没了,都是一路踩坑过来的。

Git:诞生于2005年,由linux之父Linus所开发的,这个也是市场上比较主流的版本管理。在Git之前Linus都是采用手工的方式来维护代码,因为他比较反感SVN需要连接网络才能进行工作。而Git与Svn最大的区别在于,Git是分布式、Svn是集中式。

集中式:有一台中心服务器,需要连接网络才能进行更新上传的操作。

分布式:只需要拥有一个自己的版本库,无需连接网络都能进行工作,提高了工作效率。

GitHub:这个有人理解为就是Git,但其实是程序员社区网站,可以托管自己个人的一个软件库,只是GitHub是基于Git来实现的。

Git版本管理工具使用详细介绍_第1张图片

四、Linux下安装Git环境

Linux环境下安装Git只需要输入 “yum install git” ,安装完成后输入"git --help",如果能看到对应的提示即可。

Git版本管理工具使用详细介绍_第2张图片

五、Linux环境下克隆项目到本地

一般我们项目是托管在码云、GitHub上,在克隆之前需要选择其一注册账号,并且创建项目才能进行克隆。

以GitHub为例,新建项目并且手动新增一个文件,方便我们有文件克隆到本地来。

Git版本管理工具使用详细介绍_第3张图片

针对我们刚刚所创建的项目,在linux环境下使用git命令把项目下载到本地来。

复制如上图地址,使用“git clone”命令进行克隆,可以查看到README文件。

Git版本管理工具使用详细介绍_第4张图片

六、Linux环境下提交代码到远程仓库

步骤一:在刚刚克隆的文件下,新建一个文件并且写入内容:“vim movie” ,vim 是linux下文本编辑器,movie 是文件名。

步骤二:把刚刚新增的文件建立追踪,使用命令:“git add movie

步骤三:使用“git status” 查看工作区的状态,可以看到如下信息:

Git版本管理工具使用详细介绍_第5张图片

步骤四:设置自己的邮箱和密码 “git config --global user.email "xxx.com" ”、“git config --global user.name "xxx"

步骤五:使用“get commit”来提交到本地仓库,提交之后会提示你输入本次提交备注,方便以后快速找到提交版本。

步骤六:提交到GitHub,使用 “git push” 最后提交到远程仓库中去,在提交过程中会要求输入登录的用户名和密码。最后能在GitHub中看到提交的文件即可。

Git版本管理工具使用详细介绍_第6张图片

七、Linux环境下解决代码冲突

代码冲突怎么来的呢?

就是有同时多个人,对同一个文件进行了操作。现在小编换了另外一个客户端,对movie文件进行了修改,并且提交了远程仓库。

修改内容如下:

Git版本管理工具使用详细介绍_第7张图片

但是最初那个客户端可不知道有人改动并且提交了文件,然后小编在拿第一个客户端改动文件并提交,看看会提示什么。

Git版本管理工具使用详细介绍_第8张图片

在改动之后并且推送给远程仓库,然后就直接被拒绝了。我们需要使用"git pull"先来更新远程仓库的代码,并且解决掉冲突才能提交。 在使用pull这个命令之后,在看查看movie文件内容:

Git版本管理工具使用详细介绍_第9张图片

在我们解决完冲突之后,在使用push提交即可,可以看到远程仓库也一起改了。

Git版本管理工具使用详细介绍_第10张图片

Git版本管理工具使用详细介绍_第11张图片

Git版本管理工具使用详细介绍_第12张图片

八、Linux环境下版本回退

步骤一:首先我们来确认下,我们本地最新的文件内容是什么样子的。

步骤二:使用"git log"命令查看提交的日志,现在我们需要会回退到之前在另外一个客户端所提交到内容。

Git版本管理工具使用详细介绍_第13张图片

步骤三:使用"git reset --hard 版本号",版本号就是上图所画的,则可以回退到指定版本。

Git版本管理工具使用详细介绍_第14张图片

九、总结

本章也只是对git做了一些基本的介绍,以及对git有一个基本的操作概念。

其实这篇文章很早之前就开始写了,一直没空写完,今天逼了下自己抽空写完啦哈哈哈哈。

对了,还有小编996的工作制度维持了半个月就取消了~~~

你可能感兴趣的:(干货小卖部,git)