Giter Site home page Giter Site logo

12m's Introduction

项目指引-12M_Station v0.1

项目简介

项目全称:12M测控站监控系统分系统。包含客户端和服务端两套软件。以典型CS架构控制硬件。并包含通用化设计,在不重新编码的情况下改变部分协议、流程等可能的变化,同时保持功能正常。

交付内容

  • 测控站监控分系统服务器软件1套
  • 测控站监控分系统客户端软件1套
  • 测控站监控分系统中心体监控软件1套

时间节点

  • 3月15日完成主要功能开发,满足调试需求。
  • 3月底完成设备联调。

成员角色

开发环境

项目基于Qt 5.9.5进行开发,编译器选用msvc 14(vs2015)64bit。基于CppMacroService提供框架OSGI开发。交付目标平台为中标麒麟。可能有跨平台需求,目前选择在windows平台下开发。

  • Windows 7(64位)/中标麒麟
  • Qt 5.9.5
  • 编译器 msvc2015 64bit
  • OSGI框架
git https://gitlab.mnenm.com:8888/wangjy/12m_station
ftp ftp://192.168.3.245/ (暂无)
ftp部分文件密码:sinux (暂无)

开发协作

  • 为便于项目管理和适应项目保密要求,项目引入的第三方库或源码需经项目经理或主程同意。
  • 项目使用完整的CI/CD自动化流程,关于该部分的技术问题请联系刘通或孙云鹏。

git工作流

Git相关操作只能在GitKarken中完成,结合软件内部工具使用Git-flow工作流。

分支管理

主分支

主分支一般包含master分支和develop分支。主分支是长期存在的。原则上主分支不允许push操作。需要通过提出merge request请求合并。

master分支

master分支上存放的应该是随时可供在生产环境中部署的代码(Production Ready state)。当开发活动告一段落,产生了一份新的可供部署的代码时,master分支上的代码会被更新。同时,每一次更新,最好添加对应的版本号标签(TAG)

develop分支

develop分支是保存当前最新开发成果的分支。通常这个分支上的代码也是可进行每日夜间发布的代码(Nightly build)。因此这个分支有时也可以被称作“integration branch”。

develop分支上的代码已实现了软件需求说明书中所有的功能,通过了所有的测试后,并且代码已经足够稳定时,就可以将所有的开发成果合并回master分支了。对于master分支上的新提交的代码建议都打上一个新的版本号标签(TAG),供后续代码跟踪使用。

因此,每次将develop分支上的代码合并回master分支时,我们都可以认为一个新的可供在生产环境中部署的版本就产生了。通常而言,“仅在发布新的可供部署的代码时才更新master分支上的代码”是推荐所有人都遵守的行为准则。基于此,理论上说,每当有代码提交到master分支时,我们可以使用CI/CD触发软件自动测试以及生产环境代码的自动更新工作。这些自动化操作将有利于减少新代码发布之后的一些事务性工作。

辅助分支

feature分支

使用规范:可以从develop分支发起feature分支,代码必须合并回develop分支

feature分支的命名可以使用除masterdeveloprelease-hotfix-之外的任何名称

feature分支(有时也可以被叫做“topic分支”)通常是在开发一项新的软件功能的时候使用,这个分支上的代码变更最终合并回develop分支或者干脆被抛弃掉(例如错误的或者实验性且效果不好的代码变更)。

release分支

使用规范:可以从develop分支派生,必须合并回develop分支和master分支

分支命名惯例:release-*

release分支是为发布新的产品版本而设计的。在这个分支上的代码允许做小的缺陷修正、准备发布版本所需的各项说明信息(版本号、发布时间、编译时间等等)。通过在release分支上进行这些工作可以让develop分支空闲出来以接受新的feature分支上的代码提交。

hotfix分支

使用规范:可以从master分支派生,必须合并回master分支和develop分支。

分支命名惯例:hotfix-*,除了是计划外创建的以外,hotfix分支与release分支十分相似:都可以产生一个新的可供在生产环境部署的软件版本。

当生产环境中的软件遇到了异常情况或者发现了严重到必须立即修复的软件缺陷的时候,就需要从master分支上指定的TAG版本派生hotfix分支来组织代码的紧急修复工作。

git提交规范(对照GitKarken提交页面)

#Commit Message

<type>(<scope>):<空格><subject>  #Summary
<body>                          #Description

提交示例:
feat: 新增主界面产品缩放功能
通过双击产品空白处实现产品的窗口/全屏切换功能

doc(客户端): 修订客户端设计原图
UI修订了客户端激光雷达的控制页面原型设计图

type(必选)

用于说明本次commit的类别,只允许使用下面7类标识,统一约定�使用英文字母和符号

  • feat: 新功能(feature)
  • fix: 修补bug
  • docs: 文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
  • test: 增加测试
  • chore: 构建过程或辅助工具的变动

scope(可选)

用于说明本次commit的修改范围,比如客户端,服务端,模拟器。可以通过:符号具体到模块但同一次提交只能使用一次。比如客户端:网络通信模块

subject(必选)

用于说明本次commit目的的简短描述,不超过50个字符。

body(必选)

关于此次提交的细节描述。

项目详细文档

详细文档

12m's People

Contributors

xxing-git avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.