分布式Git

分布式Git

分布式工作流程

传统的集中式版本控制系CVCS)不同,开发者之作方式因着Git 的分布式

特性而得更灵活多。在集中式系上,开发者就像是接在集线器上的点,彼

此的工作方式大体相像。而在Git 中,开发者同扮演着点和集线器的角色,

就是一个开发者都可以将自己的代码贡献到另外一个开发者的仓库中,或者建立自

己的公共仓库其他开发者基于自己的工作始,自己的仓库贡献代。于是,Git

分布式作便可以衍生出种种不同的工作流

 

集中式工作流

集中式工作流程使用的都是作模型。一个存放代码仓库的中心服器,可以接受所有开发者提交的代。所有的开发者都是普通的点,作中心集线器的消者,平的工作就是和中心仓库

 

如果两个开发者从中心仓库克隆代下来,同作了一些修,那只有第一个开发者可

利地把数据推送到共享服器。第二个开发者在提交他的修之前,必先下合并

器上的数据,解决冲突之后才能推送数据到共享服器上。在Git 这么用也决无

就好比是在用Subversion(或其他CVCS)一,可以很好地工作

 

集成管理员工作流

由于Git 使用多个仓库开发者便可以建立自己的公共仓库,往里面写数据并

共享他人,而同又可以从人的仓库中提取他的更新来。这种情形通常都会有个代

表着官方布的仓库blessed repository),开发由此仓库克隆出一个自己的公

仓库developer public),然后将自己的提交推送上去,求官方仓库维护者拉取更

新合并到主目。维护者在自己的本地也有个克隆仓库integration manager),他可以

将你的公共仓库为远仓库添加来,经过测试后合并到主干分支,然后再推送到官

仓库

 

1. 维护者可以推送数据到公共仓库blessed repository

2. 献者克隆此仓库,修写新代

3. 献者推送数据到自己的公共仓库developer public

4. 献者给维护件,求拉取自己的最新修

5. 维护者在自己本地的integration manger 仓库中,将献者的仓库为远仓库

合并更新并做测试

6. 维护者将合并后的更新推送到主仓库blessed repository

 

司令官与副官工作流

各个集成管理别负责集成目中的特定部分,所以称副官(lieutenant)。而所有些集成管理员头有一位负责统筹集成管理,称司令官(dictator)。司令官维护仓库用于提供所有作者拉取最新集成的目代。整个流

1. 一般的开发者在自己的特性分支上工作,并不定期地根据主干分支(dectator 上的

master)衍合。

2. 副官(lieutenant)将普通开发者的特性分支合并到自己的master 分支中。

3. 司令官(dictator)将所有副官的master 分支并入自己的master 分支。

4. 司令官(dictator)将集成后的master 分支推送到共享仓库blessed repository

中,以便所有其他开发者以此础进行衍合

 

提交指南

首先,不要在更新中提交多余的白字符(whitespace)。Git 种检查类问题的方

法,在提交之前,先运行git diff --check,会把可能的多余白字符修正列出来。

接下来,次提交限定于完成一次逻辑功能。并且可能的,适当地分解多次小更

新,以便次小型提交都更易于理解

最后需要谨记的是提交明的撰写。

你可能感兴趣的:(分布式,git)