开源分布式版本控制工具 —— Git 之旅

Git
主张的分布式代码库与文件快照的设计思想,相对于传统 CVS、SVN 等集中式、文件差异式版本控制工具是一种挑战与颠覆。Git
带来了离线提交、轻量级分支等诸多便利。

实际上,相对于 CVS、SVN 等主流版本控制软件,Git 的学习成本甚至会更高。比如,对于 Subversion
用户而言,如果能理解什么是文件、工作目录、资源库、版本、分支和标签等概念,差不多就够用了。而对于 Git
用户,需要理解更多更复杂的概念,包括文件、快照、工作树、索引、本地资源库、远程资源库、远程、提交、分支和 Stash
等。那么,为什么软件开发者对 Git 还是趋之若鹜呢?相比于 CVS 与 SVN,Git 的优势到底体现在哪里?

关于 Git 的各种优势,互联网以及各种 Git 书籍都给出了自己的答案。笔者认为,存储快照与分布式的设计思想是 Git 的 2 大看点,理由如下

第一,Git 底层自行维护的存储文件系统是一大亮点

第二,Git记录整个文件快照

Git 版本控制系统的设计思想是”去中心化”。传统的 CVS 、SVN 等工具采用的是 C/S
架构,只有一个中心代码仓库,位于服务器端。而一旦由于服务器系统宕机、网络不通等各种原因造成中心仓库不可用,整个 CVS 、SVN
系统的代码检入与检出就瘫痪了。即便考虑到高可用性,通过迁移另一个中心仓库继续代码提交操作,相应的运营维护成本也会随之上升

为了摆脱对中心仓库的依赖,Git 的初始设计目标之一就是分布式控制管理。我们给出一个样例,如图 4 所示。假如我们成立一个项目组,开发者主要由
Alice、Bob、Clair、David 四名成员组成。其中,除了中心仓库 origin(Git
默认远程仓库名称)之外,每一名成员各自负责一个本地仓库。从分布式的观点来看,David 可看成是 Alice 的远程仓库,反过来也是一样。Git
分布式的设计理念有助于减少对中心仓库的依赖,从而有效降低中心仓库的负载,改善代码提交的灵活性

如何安装 Git

1. 源码编译安装

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install git-core

如何使用 Git

1:创建 Git 项目仓库

针对第一类 Git 仓库,我们可以使用 git init 命令创建一个崭新的 Git 项目仓库,如下:

git init
git clone git://git.kernel.org/pub/scm/git/git.git

说情见:http://www.ibm.com/developerworks/cn/opensource/os-cn-tourofgit/

season 4 cartoon 9 spoilers
snooki weight loss Predicitions for Project Runway season 9

and perhaps even an alligator or several
pornoWhat to Wear When Attending a Fashion Show
black porn
此条目发表在 网站架构 分类目录。将固定链接加入收藏夹。

评论功能已关闭。