git入门与实践(一) 什么是版本控制 要了解什么是git,首先需要了解什么是版本控制(
Version Control),
版本控制系统(Version Control
System,简称VCS)是一种记录一个或多个文件的变化的系统,这样的系统能够方便你今后调用找回某个特定时期(或版本)的文件。
版本控制系统广泛地应用于程序开发等领域,它可以协助你将某个指定的文件(甚至是一整个项目)返回至某个之前记录的状态,查看发生了哪些变化、对变化进行
比较或者是修正致命错误。 版本控制系统主要经历了本地版本控制,集中式版本控制到分布式版本控制的发展:
- 本地版本控制(Local Version Control System)顾名思义就是本地化的版本控制系统,没有网络协作等较为先进的版本控制的概念
- 集中式版本控制意(Centralized Version Control System)为有一台版本控制服务器运行在那边存放并提供一个项目中所有版本文件的服务,在很长一段时间内占据主流,其中CVS与Subversion(SVN)为其代表
- 分布式版本控制(Distributed Version Control System)克服了集中式版本控制可能因为单点失败造成的巨大损失的缺点,让每一台客户端在每一次checkout操作后都完全镜像整个版本控制中的项目。在分布式版本控制系统中,任何一台机器都可以视为版本控制服务器。即使有一台服务器失去服务能力,其它机器与系统可以继续协作维持版本控制系统的正常运转。git就是分布式版本控制系统
git的历史 在
2005年,Linux内核开发团队与其使用的分布式版本控制系统BitKeeper的开发公司关系破裂,他们没有了免费使用BitKeeper的特权。
这直接催生了Linux开发社区自己开发一套分布式版本控制系统的想法。
Linux开发社区借鉴了之前使用BitKeeper时看到的闪光点,并希望能够在版本控制系统的速度、架构设计与各类特性支持中作出较好的改进与提升,
于是,git诞生了。
基础概念与机制 git与其它主流的VCS最大的区别就是,在项目版本更新的过程中,git记录的并非是基于初始文件的变化数据,而是
通过一系列快照(Snapshot,就像是个小型的文件系统)来保存记录每个文件。如果有些文件在版本更新后没有发生任何变化,那么在新的版本中它会是一个指向最近一次更新的文件版本的链接。 此外,
几乎所有git的操作都是在本地进行的,
所以,没有了“延迟”,几乎所有的操作都是瞬间完成的。例如,当你想要查看项目历史时,不需要特地去服务器上抓取历史记录,直接在本地浏览即可。这意味
着,你可以在本地对比两个不同版本的文件的差别,可以在本地查看过去有哪些人对指定文件作出了修改与更新,可以……几乎完全本地化的操作也%
阅读(1334) | 评论(0) | 转发(0) |