赞
踩
2005年之前Linux内核开发都是由非开源BitKeeper进行版本控制。Linus Torvalds为了摆脱非开源的限制问题,构建了一个与开源的并发版本系统SVN理念完全相反的版本控制系统。这个分布式的版本控制系统最后发展成了现在广泛使用的git。
版本库是集中存放在中央服务器,开发者使用电脑进行开发工作。每次工作都需要先从中央服务器获取代码最新版本到本地,本地修改之后需要推送到中央服务器上。
版本库没有中央服务器概念,远程仓库只是为了开发者方便交换各自的修改。每个开发者电脑上都有一个完整的版本库。每次工作不需要联网,可以进行修改、版本对比、提交代码等,只需要在联网的时候将本地版本库同步到远程仓库即可。
GIT架构主要分为以下几个部份:
整体架构如下图:
工作区就是本地工作目录,工作区包含新增文件和自己的修改内容。
暂存区是将修改提交到本地仓库前的一个过渡区域,主要是方便可以将部分修改提交的情况。工作目录下.git目录下的index文件就是暂存区内容。
版本控制系统保存在本地。工作目录下.git目录就是本地仓库内容。
远程仓库主要是为了开发者交流修改而设置的一个中间仓库。
隐藏区主要是为了将正在修改并且还没有提交的代码保存起来防止丢失,方便开发者进行多种开发任务的切换。如果遇到紧急情况,可以将当前任务的修改保存到隐藏区,然后开发者可以进行分支切换或者其他开发工作,完成紧急任务之后,可以从隐藏区恢复之前的修改继续原有开发工作。
存在于本地的远程仓库的缓存。如需更新,可通过git fetch/pull命令获取远程仓库内容。使用fech获取时,并未合并到本地仓库,此时可使用git merge实现远程仓库副本与本地仓库的合并。
开发者利用git进行协作进行开发工作流程如下:
主要介绍版本控制系统起源,git和svn简单对比,git的整体架构和开发工作流程。
1.简书:GIT-概述与架构
2.Git版本管理原理
3.Git Book
4.Runoob git教程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。