`
xttan
  • 浏览: 1522 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

GIT开发流程

 
阅读更多

 

## 团队开发分支命名策略

 

1. master:

    主分支,负责记录上线版本的迭代,该分支代码与线上代码是完全一致的。

 

2. develop:

    开发分支,该分支记录相对稳定的版本,所有的feature分支和bugfix分支都从该分支创建。

其它分支为短期分支,其完成功能开发之后需要删除

 

3. feature/*:

    特性(功能)分支,用于开发新的功能,不同的功能创建不同的功能分支,功能分支开发完成并自测通过之后,需要合并到 develop 分支,之后删除该分支。

 

4. bugfix/*:

    bug修复分支,用于修复不紧急的bug,普通bug均需要创建bugfix分支开发,开发完成自测没问题后合并到 develop 分支后,删除该分支。

 

5. release/*:

    发布分支,用于代码上线准备,该分支从develop分支创建,创建之后由测试同学发布到测试环境进行测试,测试过程中发现bug需要开发人员在该release分支上进行bug修复,所有bug修复完后,在上线之前,需要合并该release分支到master分支和develop分支。

 

6. hotfix/*:

    紧急bug修复分支,该分支只有在紧急情况下使用,从master分支创建,用于紧急修复线上bug,修复完成后,需要合并该分支到master分支以便上线,同时需要再合并到develop分支。

 

## 团队开发流程

 

 

 

 

## 注释规范(Git Commit Guidelines。)

 

```

<type>(<scope>): <subject>

<空行>

<body>

<空行>

<footer>

```

 

上面是一次Commit后Message格式规范,分成标题,内容详情,结尾三个部分,各有各的用处,没有多余项。

头部即首行,是可以直接在页面中预览的部分,入上面图中所示,一共有三个部分<type> ,<scope> ,<subject> ,含义分别如下

 

1. Type

    - feat:新功能(feature)

    - fix:修补bug

    - docs:文档(documentation)

    - style: 格式(不影响代码运行的变动)

    - refactor:重构(即不是新增功能,也不是修改bug的代码变动)

    - test:增加测试

    - chore:构建过程或辅助工具的变动

2. Scope

    用来说明本次Commit影响的范围,即简要说明修改会涉及的部分。这个本来是选填项,但从AngularJS实际项目中可以看出基本上也成了必填项了。

3. Subject

    用来简要描述本次改动,概述就好了,因为后面还会在Body里给出具体信息。并且最好遵循下面三条:

    - 以动词开头,使用第一人称现在时,比如change,而不是changed或changes

    - 首字母不要大写

    - 结尾不用句号(.)

4. Body

    <body>里的内容是对上面subject 里内容的展开,在此做更加详尽的描述,内容里应该包含修改动机和修改前后的对比。

5. Footer

    footer里的主要放置 `不兼容变更` 和 `Issue关闭` 的信息,参考下面两个例子

 

 

 

## 总结

 

* 所有的新功能开发,bug修复(非紧急)都要从develop分支拉取新的分支进行开发,开发完成自测没有问题再合并到develop分支

* release分支发布到测试环境,由开发人员创建release分支(需要测试人员提出需求)并发布到测试环境,如果测试过程中发现bug,需要开发人员track到该release分支修复bug,上线前需要测试人员提交merge request到master分支,准备上线,同时需要合并回develop分支。

* 只有紧急情况下才允许从master上拉取hotfix分支,hotfix分支需要最终同时合并到develop和master分支(共两次merge操作)

* 除了master和develop分支,其它分支在开发完成后都要删除

 

 

 

## 附件:

 

* [研发团队GIT开发流程新人学习指南](https://aicode.cc/yan-fa-tuan-duigit-kai-fa-liu-cheng-xin-ren-xue-xi.html)

* [Git学习笔记之常用技巧](https://aicode.cc/git-xue-xi-bi-ji-zhi-chang-yong-ji-qiao.html)

* [Git学习笔记之分支管理](https://aicode.cc/git-xue-xi-bi-ji-zhi-fen-zhi-guan-li.html)

* [git-flow 备忘清单](http://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html)

* [团队中的 Git 实践](http://www.open-open.com/lib/view/open1461324562769.html)

* [Git 在团队中的最佳实践--如何正确使用Git Flow](http://www.open-open.com/lib/view/open1451353135339.html)

* [Git: 教你如何在Commit时有话可说](http://www.open-open.com/lib/view/open1461324865908.html)

* [使用 git rebase 避免無謂的 merge](http://www.open-open.com/lib/view/open1461325157318.html)

 

分享到:
评论

相关推荐

    git开发流程规范

    git开发流程规范,及简单代码提交与代码拉取,完整的开发流程。

    git开发流程1

    这里我们将深入探讨基于标题"git开发流程1"和描述中提到的Git工作流程。 1. **个人分支开发(Workplace & Personal Branch)** 开发人员通常会从主分支(如`master`)或开发分支(如`dev`)创建自己的个人分支,...

    Gitblit搭建及Git协作开发流程参考

    Gitblit搭建及Git协作开发流程参考 本文档主要介绍了Gitblit的搭建和Git协作开发流程,旨在帮助创业团队和小型开发团队快速搭建自己的代码服务器。同时,文档也提供了基本的开发流程,代码提交、代码上传、代码...

    uboot结合git开发流程.pdf

    以下是开发流程的知识点: 1. **U-Boot源码的获取和初始化** 首先,需要获取U-Boot的源码包,例如netra-uboot-2010.06.tar.bz2。然后,通过tar命令解压源码包到指定目录。之后,通过cd命令进入源码目录,并执行git...

    Git协作开发流程规范

    ### Git协作开发流程规范 #### 一、Git协作开发流程的重要性及定义 在现代软件开发过程中,团队协作显得尤为重要。为了确保项目的顺利进行,并保证所有团队成员能够在同一个方向上高效工作,就需要有一套规范化的...

    分支管理规范-GIT分支流程开发规范

    - **使用git flow简化操作**:git flow是一个基于Git Flow工作流的辅助工具,可自动化创建、切换和结束分支,简化开发流程。 6. **发布代码流程** - **发布Release**:从develop分支创建release分支,开发团队完成...

    git应用开发详解

    Git是当今最流行的分布式版本控制系统,它被广泛应用于软件开发,尤其是开源项目。"git应用开发详解"这个资源深入探讨了Git的各个方面,包括基础操作、高级用法以及其内部工作机制,非常适合那些想要深入理解Git的...

    git工具开发包

    这个"git工具开发包"提供的是Git的源码,允许用户自行编译和定制Git功能,适用于那些希望深入理解Git工作原理或者需要特定配置的开发者。 Git的源码包通常包含了项目的所有源文件、构建脚本、配置文件以及相关的...

    Git开发操作流程v1.0 Git使用笔记 git常用命令 git常见问题

    **Git开发操作流程** 1. **新建分支** - 新建分支是开发新功能的基础,通常以任务号-任务内容命名。例如,创建名为"user/task1000-开发运动轨迹模块"的分支: - 切换到master分支:`git checkout master` - 更新...

    git文档开发

    【Git文档开发】这篇文档主要介绍了在公司内部推动使用Git作为版本控制工具的过程以及Git的基础知识。Git是一种分布式版本控制系统,相较于CVS和SVN,它具有诸多优势,包括易于初始化、大多数操作在本地完成、分支...

    Git多人合作流程

    Git多人合作流程详解 Git 作为一种分布式版本控制系统,广泛应用于多人合作开发项目中。在多人合作开发中,Git 的使用可以提高开发效率、减少代码冲突和版本控制混乱。本文将详细介绍 Git 多人合作流程,并对流程...

    Git开发操作文档 全面介绍Git技术

    这份Git开发操作文档是一份全面介绍Git技术的文档,内容包括了Git的基本概念、使用方法和常见问题解决方案,以及Git在版本控制和协同开发中的应用。 该文档首先介绍了Git的基本概念和原理,包括Git的工作流程、版本...

    git开发工具Git-2.24.0.2-64-bit

    Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,协同开发项目。"Git-2.24.0.2-64-bit" 是Git的一个特定版本,适用于64位操作系统。这个版本可能包含了性能优化、新功能以及已知问题的修复...

    git 团队级开发流程.html

    git 团队级开发流程

    git常用命令 嵌入式开发过程中git的简单使用

    Git是世界上最流行的分布式版本控制系统,尤其在嵌入式开发领域,Git被广泛用于代码的版本管理和协作。通过学习和熟练掌握Git的常用命令,开发者能够有效地跟踪和管理代码的变更,提高开发效率,并确保团队之间的...

    配合Git flow 流程使用的git 操作命令指南

    通过遵循Git flow流程和熟练掌握相应的Git命令,开发团队可以更有效地协同工作,确保代码质量,降低出错风险,并提高软件开发的效率。不过,每个团队可能有自己的特定需求,因此在实际应用中,可以灵活调整或简化Git...

    git开发客户端工具图像化

    "git开发客户端工具图像化"就是为了解决这个问题,它提供了一种更加直观、友好的图形用户界面(GUI),使得Git操作变得更加简单易懂,便于开发人员进行日常的代码版本控制。 这些图形化工具通常包括以下功能: 1. ...

    git入门教程

    ### Git开发流程与常用命令 Git的开发流程通常包括初始化、配置、操作、撤销操作和分支管理等步骤。以下是一些基本的Git命令及其功能说明: 1. **初始化与检出**: - `git init`:创建一个新的本地Git仓库。 - `...

    git版本控制流程

    Git版本控制流程是软件开发中的核心环节之一,它能有效管理项目的版本历史,支持多人协同工作,保持代码的稳定性。Git通过一系列命令来实现版本控制的各类操作,包括代码的提交、分支的切换、版本的合并以及版本标记...

Global site tag (gtag.js) - Google Analytics