使用Git分支协同开发

大型软件项目开发中,多分支的使用不仅能够并行开发多模块任务,也避免了Bug修正时引入新功能代码或是误删Bug代码造成以修复问题重现,更清晰的‘组织’项目的开发。

新建的分支一般都属于以下三个范畴内:发布分支(Bugfix分支)、特性分支和卖主分支。

Ubuntu Server上安装Git

服务器端Git仓库的创建(Ubuntu)

Linux下Git简单使用教程(以Android为例)

Git权威指南 PDF高清中文版

一、发布分支

发布分支主要用作对之前提交代码的Bug修正,使修正过程和主线功能开发能够并行开展。

二、特性分支

特性分支主要用作将某个功能模块和开发主线独立出来,适合于开发周期长、实验性功能等具有特定特性的功能模块开发。

三、卖主分支

所谓卖主分支是在版本库中专门创建一个和上游同步的分支,一旦有上游代码发布就捡入到卖主分支中。

不管是何种分支,其操作过程无非一下步骤

1. 创建分支 (1)可以通过

git branch <newbranch>

然后切换到新分支:

git checkout newbranch

(2)或者直接

git checkout –d newbranch

默认是从最新commitHEAD指向提交创建branch,此种方式一般用作临时分支,接受改动,并最终由master分支merge后删除。

但是在bug修改或者新模块开发等都需要从历史提交创建branch,此时在上面语句之后加上commit id或对应的tag

2. 在新分支上开发

在这里通过git rev-parse查看不同分支的指向是否相同。

git cherry命令可用于查看当前领先于origin的提交。

在新分支上的开发任务(开发任务可以是bug修复或是新模块开发)结束后,需要将新分支上的提交合并到主分支,这里大致上可以分为三种情况:

(1)使用merge

首先新建分支并完成工作commit后切换到主分支master,在主分支中“合并”创建的分支。如下:

使用Git分支协同开发

1

注意merge后要指明将合并分支的名称。

(2) 使用cherry-pick

使用Git分支协同开发

6

首先切换到master分支,然后对需要合并到主分支的newbranch历史提交执行拣选。

这种方式与方式(1)的不同之处是可以有选择的合并newbranch的提交而不是全部merge

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17787.html