1:Git的简单介绍

由来

Git 是目前世界上最先进的分布式版本控制系统。它的出现是由于Linux内核开源项目有很多的参与者,但是绝大多数的Linux内核维护工作都花在了提交补丁和保存归档的繁琐事务上,开始的时候是启用分布式版本控制系统BitKeeper来管理和维护代码.但是后来开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束,回收了开源社的免费使用BitKeeper的权力.所以在无奈之下Linux的开源社区开发一套属于自己的版本控制系统.初期定的Git目标有(而且实现了):

  1. 分支切换速度快
  2. 容量小(压缩)
  3. 简单的设计
  4. 完全分布式
  5. 对非线性开发模式的强力支持(允许上千个并行开发的分支)
  6. 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

版本控制

  1. 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统
  2. 软件开发中采用版本控制系统是个明智的选择。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某 个时间点的状态。就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以 轻松恢复到原先的样子。但额外增加的工作量却微乎其微。 你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异 问题出现的原因,又是谁在何时报告了某个功能缺陷等等。
  3. 版本控制系统分为: 集中化的版本控制系统和分布式版本控制系统
  4. 集中化的版本控制系统: CVS,svn 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到 这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的 标准做法 这种做法带来了许多好处,现在,每个人都可以在一定程度上看到项目中的其 他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集 中化的版本控制系统; 要远比在各个客户端上维护本地数据库来得轻松容易

事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。 如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

(并不是说服务器故障了就没有办法写代码了,只是在服务器故障的情况下,编写的 代码是没有办法得到保障的.试想 svn 中央服务器挂机一天.你还拼命写了一天代 码,其中 12 点之前的代码都是高质量可靠的,而且有很多闪光点.而 12 点之后的代 码由于你想尝试一个比较大胆的想法,将代码改的面目全非了.这样下来你 12 点之 前做的工作也都白费了 有记录的版本只能是 svn 服务器挂掉时保存的版本!)

要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会 有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被 客户端偶然提取出来的保存在本地的某些快照数据就成了恢复数据的希望。但这 样的话依然是个问题,你不能保证所有的数据都已经有人事先完整提取出来过。 只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。

  1. 分布式版本控制系统 : Git,BitKeeper 等,客 户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一 来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本 地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份,更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中分别和不同工作小组的人相互协作。

分布式的版本控制系统在管理项目时 存放的不是项目版本与版本之间 的差异.它存的是索引(所需磁盘空间很少 所以每个客户端都可以放下整个 项目的历史记录) 分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:

  1. 断网的情况下也可以进行开发(因为版本控制是在本地进行的)
  2. 使用 github 进行团队协作,哪怕 github 挂了 每个客户端保存 的也都是整个完整的项目(包含历史记录)

Git的安装

https://git-scm.com/download/win
自己下载自己安装
在这里插入图片描述
有上面两个 Git命令就是安装成功了
点击 git bash Here 菜单之后,可以看到一个终端窗口,在终端里面输入 命令 git --version,就可以看到 git 的版本信息

发布了133 篇原创文章 · 获赞 37 · 访问量 4754

猜你喜欢

转载自blog.csdn.net/qq_43416157/article/details/104124907
今日推荐