技成培训网,怀化火车站优化改造,织梦网站内容怎么做付费可见,金华市建设监理协会网站GIT-概念与架构 一、背景和起源二、版本控制系统1.版本控制分类1.1 集中式版本控制1.2 分布式版本控制 2.Git和SVN对比2.1 SVN2.2 GIT 三、GIT框架1.工作区#xff08;working directory#xff09;2.暂存区#xff08;staging area#xff09;3.本地仓库#xff08;local… GIT-概念与架构 一、背景和起源二、版本控制系统1.版本控制分类1.1 集中式版本控制1.2 分布式版本控制 2.Git和SVN对比2.1 SVN2.2 GIT  三、GIT框架1.工作区working directory2.暂存区staging area3.本地仓库local repository4.远程仓库remote repository5.隐藏区stash area6.远程仓库副本remote repository copy 四、GIT开发工作流程总结参考   一、背景和起源 
2005年之前Linux内核开发都是由非开源BitKeeper进行版本控制。Linus Torvalds为了摆脱非开源的限制问题构建了一个与开源的并发版本系统SVN理念完全相反的版本控制系统。这个分布式的版本控制系统最后发展成了现在广泛使用的git。 
二、版本控制系统 
1.版本控制分类 
1.1 集中式版本控制 
版本库是集中存放在中央服务器开发者使用电脑进行开发工作。每次工作都需要先从中央服务器获取代码最新版本到本地本地修改之后需要推送到中央服务器上。 
1.2 分布式版本控制 
版本库没有中央服务器概念远程仓库只是为了开发者方便交换各自的修改。每个开发者电脑上都有一个完整的版本库。每次工作不需要联网可以进行修改、版本对比、提交代码等只需要在联网的时候将本地版本库同步到远程仓库即可。 
2.Git和SVN对比 
2.1 SVN 
SVN属于集中式版本控制系统SVN需要联网才能工作SVN操作需要访问中央服务器仓库处理速度相对慢 
2.2 GIT 
GIT属于分布式版本控制系统GIT不需要强制联网也可工作GIT绝大部份操作都是访问本地版本库因此处理速度快 
三、GIT框架 
GIT架构主要分为以下几个部份 
本地工作区working directory暂存区staging area本地仓库local repository远程仓库remote repository 
整体架构如下图  
1.工作区working directory 
工作区就是本地工作目录工作区包含新增文件和自己的修改内容。 
2.暂存区staging area 
暂存区是将修改提交到本地仓库前的一个过渡区域主要是方便可以将部分修改提交的情况。工作目录下.git目录下的index文件就是暂存区内容。 
git add命令可以将工作区内容添加到暂存区。git checkout命令可以将暂存区内容覆盖工作区内容。 
3.本地仓库local repository 
版本控制系统保存在本地。工作目录下.git目录就是本地仓库内容。 
git commit命令可以将暂存区内容添加到本地仓库。git reset命令可以将本地仓库内容覆盖暂存区内容。 
4.远程仓库remote repository 
远程仓库主要是为了开发者交流修改而设置的一个中间仓库。 
git push命令可以将本地仓库内容添加到远程仓库。git pull命令可以将远程仓库内容拉取到本地仓库。 
5.隐藏区stash area 
隐藏区主要是为了将正在修改并且还没有提交的代码保存起来防止丢失方便开发者进行多种开发任务的切换。如果遇到紧急情况可以将当前任务的修改保存到隐藏区然后开发者可以进行分支切换或者其他开发工作完成紧急任务之后可以从隐藏区恢复之前的修改继续原有开发工作。 
git stash命令可以将工作区和暂存区内容添加到隐藏区。git stash pop命令可以隐藏区内容恢复到工作区。 
6.远程仓库副本remote repository copy 
存在于本地的远程仓库的缓存。如需更新可通过git fetch/pull命令获取远程仓库内容。使用fech获取时并未合并到本地仓库此时可使用git merge实现远程仓库副本与本地仓库的合并。 
四、GIT开发工作流程 
开发者利用git进行协作进行开发工作流程如下 
克隆 Git 资源作为工作目录。在克隆的资源上添加或修改文件。如果其他人修改了你可以更新资源。在提交前查看修改。 提交修改。在修改完成后如果发现错误可以撤回提交并再次修改并提交。  
总结 
主要介绍版本控制系统起源git和svn简单对比git的整体架构和开发工作流程。 
参考 
1.简书GIT-概述与架构 2.Git版本管理原理 3.Git Book 4.Runoob git教程