资料内容:
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软
件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必
服务器端软件支持。
1.2什么是版本控制
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
1.3什么是分布式版本控制系统
1.3.1传统的集中式版本控制系统
1.3.1.1定义
集中化的版本控制系统,诸如 CVS,Subversion 等,都有一个单一的集中管理的服务器,
保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文
件或者提交更新。
1.3.1.2缺点
管理员可以轻松管控每个开发者的权限,并且维护成本低。但是这种架构下集中式服务器存
在明显的单点故障,如果版本控制服务器宕机,则无法提供服务。如果服务器数据丢失并且
无法恢复,那么整个项目的数据和变更历史也随之丢失。
1.3.2.1定义
基本设计理念是客户端不仅仅提取最新版本的快照,而是把代码仓库完整的镜像下来,相当
于在本地有一份完整的数据拷贝。这样,当CVS服务器故障时,通过任何一个本地的镜像仓
库就可以恢复数据。同时还可以和不同的远端代码仓库进行交互,设置不同的协作流程。
1.4.历史
首先Git的创始人是“Linus Torvalds”,也是linux的创始人。起初参与Linux开源项目的代码
是由Linus本人通过一些命令来手动为别人整合代码的,之后随着项目越做越大,代码库之
大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于
是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人
道主义精神,授权Linux社区免费使用这个版本控制系统。直到2005年,Linux社区牛人聚
集,不免沾染了一些梁山好汉的江湖习气。小弟开始试图破解BitKeeper的协议(这么干的
其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公
司怒了,要收回Linux社区的免费使用权。Linus可以向BitMover公司道个歉,保证以后严
格管教弟兄们,嗯,这是不可能的。实际情况是这样的:Linus花了两周时间自己用C写了
一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!
Git也由此诞生了。
1.5.工作原理和流程
远程仓库:是在远程服务器上的Git仓库
Clone:克隆,就是将远程仓库复制到本地
Push:推送,就是将本地仓库代码上传到远程仓库
Pull:拉取,就是将远程仓库代码下载到本地仓库