开发和维护个人开源项目之代码仓库管理

栏目: 软件资讯 · 发布时间: 7年前

内容简介:我将代码仓库管理分为以下几个部分:每个分支的功能独立,便于理解。

开发和维护个人开源项目之代码仓库管理

我将代码仓库管理分为以下几个部分:

  • 分支管理策略
  • 工作流程
  • tag版本管理
  • 提交格式、日志获取

代码仓库管理

分支管理策略

  • master (稳定分支)(保护分支)

    master+tag
    hotfix
    
  • develop (稳定分支)(保护分支)

    feature
    release
    

masterdevelop 是固定受保护、不能直接 push 的分支。两者区别:

master
develop

每个分支的功能独立,便于理解。

工作流程

  1. 创建开发分支

    git checkout -b develop master
  2. 功能开发

    git checkout -b feature-x develop
  3. 功能开发完成,分支合并到develop分支

    git checkout develop
    git merge --no-ff feature-x
    git branch -d feature-x
  4. 创建预发布分支

    git checkout -b release-0.1 develop
  5. 将预发布合并到master和开发分支

    git checkout master
    git merge --no-ff release-0.1
    git tag -a 0.1
    git checkout develop
    git merge --no-ff release-0.1
    git branch -d release-0.1
  6. 修补bug

    git checkout -b fixbug-0.1 master
    git checkout master //合并到主线
    git merge --no-ff fixbug-0.1
    git tag -a 0.1.1
    git checkout develop //合并到开发分支
    git merge --no-ff fixbug-0.1
    git branch -d fixbug-0.1
  7. fork 代码, pull requestdevelop

tag版本管理

上一节提到了用tag打版本,版本号的命名规则:

  1. 项目立项

    0.0.0 //主版本.次版本号.修正版本号
    • 主版本号:0表示正在开发阶段;
    • 次版本号:增加新的功能时增加;
    • 修订号:修复bug等改动
  2. 开发完成

    1.0.0
    • 主版本号:全盘重构时增加;重大功能或方向改变时增加;大范围不兼容之前的时增加;
    • 次版本号:增加新功能时增加;
    • 修订号:修复bug、功能调整等改动

提交格式、日志获取

规范化的提交对后续的整理、回溯是很友好的,比如:realse的时候进行一轮日志获取就能生成版本变更信息(版本开发之前应有计划)。

  • 规范化commit message

    • 提交类型(友好提醒)
    • 提交信息格式
    • 提交信息验证
  • changelog生成

    • conventional-changelog-cli 工具

我是详细实践,请点我:Git commit message和工作流规范

总结

本文主要对代码仓库的管理作了整理,这个也是每个项目启动之时就应该设计好的。

参考链接


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

与孩子一起学编程

与孩子一起学编程

[美] 桑德Warren Sande、Carter Sande / 苏金国、姚曜 等 / 人民邮电出版社 / 2010-11 / 65.00元

一本老少咸宜的编程入门奇书!一册在手,你完全可以带着自己的孩子,跟随Sande父子组合在轻松的氛围中熟悉那些编程概念,如内存、循环、输入和输出、数据结构和图形用户界面等。这些知识一点儿也不高深,听起来备感亲切,书中言语幽默风趣而不失真义,让学习过程充满乐趣。细心的作者还配上了孩子们都喜欢的可爱漫画和经过运行测试的程序示例,教你用最易编写和最易理解的Python语言,写出你梦想中的游戏程序。 ......一起来看看 《与孩子一起学编程》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试