• 【学习笔记】Git开发流程


    Git开发大致流程图:
    在这里插入图片描述

    具体流程: 首先一个从仓库的main分支,然后从main分支中拉一个功能分支feature/xxx,在多人开发这个功能的时候拉去自己的个人分支比如:xxx/xxx 。然后每天开发完个人分支后压缩commit,并提一个cr到功能分支,cr完毕后就会自动删除这个个人分支,第二天再次开发时在拉取相对应的个人分支,在发布当天然后在把功能分支合并到主分支中。

    分支流程说明

    项目中长期存在的两个分支

    ● master:主分支,负责记录上线版本的迭代,该分支代码与线上代码是完全一致的。
    ● develop:开发分支,该分支记录相对稳定的版本,所有的feature分支和bugfix分支都从该分支创建。

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

    feature/ :特性(功能)分支,用于开发新的功能,不同的功能创建不同的功能分支,功能分支开发完成并自测通过之后,需要合并到 develop 分支,之后删除该分支。
    ● bugfix/:bug修复分支,用于修复不紧急的bug,普通bug均需要创建bugfix分支开发,开发完成自测没问题后合并到 develop 分支后,删除该分支。
    ● release/
    :发布分支,用于代码上线准备,该分支从develop分支创建,创建之后由测试同学发布到测试环境进行测试,测试过程中发现bug需要开发人员在该release分支上进行bug修复,所有bug修复完后,在上线之前,需要合并该release分支到master分支和develop分支。
    ● hotfix/*:紧急bug修复分支,该分支只有在紧急情况下使用,从master分支创建,用于紧急修复线上bug,修复完成后,需要合并该分支到master分支以便上线,同时需要再合并到develop分支。

    工作流程

    开发前克隆 dev 分支到本地

    git clone -b dev https://github.com/xxxx/usercenter.git
    
    • 1

    新建分支:

    获取 dev 分支最新代码

    git checkout dev
    git pull
    
    • 1
    • 2

    新建一个特性分支

    git branch feature/xxx
    
    • 1

    切换到该特性分支,进行开发

    git checkout feature/xxx
    
    • 1

    提交分支:

    提交代码

    git add .
    git commit
    
    • 1
    • 2

    开发过程中,将本地仓库开发中的特性分支 push 到远程仓库(可选的)

    git push -u origin feature/xxx
    
    • 1

    发出 Pull Request

    Git规范

    分支命名

    除了主要分支的名字是固定的之外,派生分支是需要自己命名的,这里就要有个命名规范了。强烈推荐用如下形式:

    ● feature——按照功能点(而不是需求)命名;
    ● release——用发布时间命名,可以加上适当的前缀;
    ● hotfix——GitLab 的 issue 编号或 bug 性质等。

    另外还有 tag,用语义化的版本号命名。

    提交

    1. 提交时的粒度是一个小功能点或者一个 bug fix,这样进行恢复等的操作时能够将「误伤」减到最低;
    2. 用一句简练的话写在第一行,然后空一行稍微详细阐述该提交所增加或修改的地方;
    3. 不要每提交一次就推送一次,多积攒几个提交后一次性推送,这样可以避免在进行一次提交后发现代码中还有小错误。

    常用命令

    ● git commit
    ● git add [–all]
    ● git push
    ● git pull
    ● git branch [-d]
    ● git merge
    ● git rebase
    ● git checkout [-b] BRANCH_NAME

  • 相关阅读:
    【11.1】【VP】Codeforces Round #730 (Div. 2)
    【STL】map函数
    keepalived配置高可用web服务器
    swift 问答app
    linux tr 删除空行
    《程序员的职业素养》读书笔记万字总结【建议收藏】
    在 Windows 上安装 MySQL(ZIP)
    multiset 用法简说
    【前端基础案例1】HTML + CSS + JavaScript
    软件测试—回归测试用例选择方法
  • 原文地址:https://blog.csdn.net/m0_54355125/article/details/134024525