Git分支管理总结

团队开发Git管理策略

简介

       Git是一个免费的开源 分布式版本控制系统,旨在快速,高效地处理从小型到大型项目的所有事务。


分支管理

问?

1. 那么团队中我们该使用怎样的分支策略来进行开发协作?

2. 在多人的团队中,我们应该在 master 分支上直接开发吗?

3. 如果线上产生了bug该通过什么样方式的分支去修复?

4. 当有多个分支的时候,测试如何有效的参与进来每一个分支的测试?


Git的三种工作方式

Git flow

Github flow

Gitlab flow


这里就说用的比较多的Gitlab flow

 主要分支:

       master: 项目的主要分支,规范的分支管理是不允许在此分支进行改动代码

       develop:开发分支,develop处于功能开发的最前线的版本,查看develop分支就能知道下一个发布版本有哪些功能了。develop一开始是从master里分出来的,并且定期会合并到master里,每一次合并到master,表示我们完成了一个阶段的开发,产生一个稳定版。同样的,develop下也不建议直接开发代码,develop代表的是已经开发好的功能的回归版本。最后,在适当的时候,由合适的人,合并到master,作为下一个稳定版本。


辅助分支:

feature: 功能分支,开发新功能的分支, 基于 develop, 完成后merge回develop

release: 预发布分支,准备要发布版本的分支,也基于 develop, 完成后 merge回 develop分支

hotfix: 补丁分支,修复maste上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后merge回          master 和develop

 

一般来说辅助分支是不存在远程仓库,只存在于本地仓库的分支

分支命名规则:develop-xxx,release-xxx,feature-xxx,hotfix-xxx

 


使用工具相关操作

New Branch : 从当前分支新建分支。上图就是从master分支创建新的分支。

Checkout Tag or Revision : 使用分支、标签或提交编码,检出一个临时分支

Local Branches : 本地分支列表。同时显示对应了那个远程分支。

Remote Branches : 远程分支列表

 

Checkout: 检出这个分支。

Checkout As... : 使用这个分支创建新的分支并检出到新分支。

Compare With... : 使用当前分支与所选分支做代码提交比较。

Rebase Current onto Selected: 在当前分支做变基。(将所选分支提交加入到当前分支)

Checkout with Rebase : 检出所选分支并做变基。(将当前分支提交加入到所选分支)

Merge into  Current: 合并到当前分支(将所选分支合并到当前分支)

Rname:修改所选分支名称

Delete:删除所选分支

 

首次发文,如果讲的不当请见谅,希望大家指出我的不足之处

你可能感兴趣的:(Git分支管理总结)