Git学习-1 Git概述

1.概述

版本控制系统是一种记录一个或若干个文件内容变化,一遍将来查阅特定版本修订的系统;不仅可以应用于软件代码,而且可以对任何类型的文件进行版本控制。

目前使用比较多的是svn和git

2.版本系统的工作模式

分为两种:

1>集中式工作模式:

为了让不同系统上的开发者能够协同工作,集中化的版本控制系统就应运而生,这类系统都有一个单一的集中管理的服务器,保存所有的修订版本,协同工作的人们都要通过客户端连接到这台服务,获取最新的版本。

也就是有一个中央版本库服务器,所有的客户机需要提交到这里。

存在的问题:

(1)一旦服务器出现问题,所有的客户机无法更新到最新版本,并且无法恢复到指定的版本,因为所有版本信息都在中央版本库中。

(2)必须具有网路环境,单机五大实现版本控制 

(3)客户机之间无法直接进行联系,无论中央版本服务器是否出现问题例如CVS,SVN

2>分布式工作模式:

分布式版本控制系统中无需中央版本库服务器,每台客户机都具有独立的版本控制功能,多台客户机之间相连就可以实现文件共享及版本管理

分布式工作模式的好处:无需网络环境也可以进行版本控制,在网络环境下可以实现协同工作。例如Git;

3.Git工作模式

git工作模式包含:集中式工作模式,开源社区工作

1>集中式工作模式:

git为了便于客户机之间协同工作,Git版本控制系统一般会设置一个中央版本库服务器,目的是让所有客户机都从该主机更新版本,提交最新版本,该工作模式下的客户机地位都平等;

此种模式下客户机平等的,连接不上中央版本库服务器,同样可以提交

2>开源社区工作模式

对于开源软件开源社区的工作发展模式,不可能让所有人都具有修改中央版本库的权限,让不同的客户机对中央版本库的不同操作权限,将有利于维护开源软件的安全性。

提交的代码是分级提交的

4.Git工作流程

1>初始化一个本地版本库,每个版本库仅需要执行一次

2>将中央版本库内容克隆到本地版本库,每个客户机仅需要执行一次

3>添加指定文件到版本控制管理(只是添加到暂存区)

4>将修改操作操作到本地版本库(将暂存区的内容提交到本地版本库)

5>将本地版本库中的修改内容"输送"到中央版本库,客户机需要在一阶段性工作完成之后或在某些时间点(下班,周五)将修改过的内容备份到中央版本库,方便他人更新到最新的代码

6>将中央版本库中的变化内容"拉取"本地版本库,客户机需要不时的更新才可以获取最新的内容

5.工作区与版本库

Git存在两个特别重要的区域:工作区与版本库,版本库又存在两个很重要的区域,暂存区与分支区。

add 到暂存区

工作区:存放着用户可编辑的文件本身

暂存区:也称为stage或index,存放着对文件的快照

分支区:该区域中可以包含很多分支,而每个分支都可以记录当前工作区中文件的状态快照

 

posted on 2018-09-04 16:47  companion  阅读(180)  评论(0编辑  收藏  举报