Git-分布式版本控制工具

目录

Git的简单介绍

软件基本理论/原理的介绍

软件的下载、安装、配置

软件实际应用案例


Git的简单介绍

版本控制概念

正如文章标题所写,git是一个分布式版本控制工具

什么是版本控制呢?

下面给出一个场景:老板让你写一个方案,你写好了之后自信满满的交给了老板,我们管这个版本的方案叫初版。但是老板觉得有点小瑕疵,让你改改。你只得按老板的要求在原方案基础上做了一些改动,然后又将改后的第二版交给了老板。但老板还觉得不够完美,让你再改改。于是,你就又将第二版改了一下,将改后的第三版交给了老板。老板看后,若有所思,不知是良心发现还是突然顿悟了你第一版的精妙之处,对你说:我还是觉得第一版好。此时,你也许已经把第一版是什么样子忘得一干二净了...

这虽然是个搞笑段子,但艺术来源于生活。。。其实最大的问题就是不能回溯到之前的版本,而版本控制工具就是解决这个问题的,它帮我们管理了各个版本的方案/项目,从而使我们可以回溯到之前的版本,这是非常重要的。

目前主流的版本控制器有: 

  • Git
  • SVN
  • CVS
  • ... 等等,如今有非常多的版本控制工具,但最为主流的是Git和SVN。上面说到了Git是分布式版本控制工具,而SVN是集中式的版本控制工具。下面会简单介绍几类常用的版本控制方式。

版本控制分类

1.本地版本控制

记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。

2.集中版本控制

所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。

所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看 不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单一的服务器 上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品: SVN、CVS、VSS。

3.分布式版本控制

所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地 提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数 据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。

 

Git基本理论

工作区域

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository 或Git Directory、即本地仓库)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四 个区域之间的转换关系如下:

  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列 表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数 据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据 交换

Git其实可以看作是一个管理的服务,每一个文件夹就是一个Git服务所管理的范围,.git文件夹存储了管理当前文件夹内文件的信息:

  • Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。
  • WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间。
  • Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在 暂存区。
  • Local Repo:本地仓库,一个存放在本地的版本库。
  • Stash:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。

git的工作流程一般是这样的:

1、在工作目录中添加、修改文件;

2、将需要进行版本管理的文件放入暂存区域;

3、将暂存区域的文件提交到git仓库。 因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

 

Git的下载、安装、配置

下载

打开 [git官网] https://git-scm.com/,下载git对应操作系统的版本。

官网下载太慢,我们可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/

无脑安装

git配置及其常用命令,参考该网址:Git 大全 - Gitee.com

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冉冉编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值