• git常用命令和分支规范


    1 第一次使用GIT之前需要设置用户名和邮箱

    git config --global user.name "qzeng"
    git config --global user.email xxx@qq.com

    2 常用命令

    git clone <path to repository> 克隆远程代码库到本地
    git pull --rebase 同步本地代码库,并同时衍合,将本地提交移动到最新提交之后,避免多余的合并提交
    git mergetool --tool <toolname> 使用工具解决合并冲突
    git status 查看当前分支,本地修改,暂存文件,非暂存文件等
    git diff 查看还没有被暂存的本地代码改动
    git diff --cached 查看已经暂存的本地代码改动
    git add | git add -A | git add -A -n 暂存一个本地修改。-A(all)代表暂存所有本地修改和新建文件。-n (dry run)代表只查看受影响文件但不做暂存。
    git commit -m "message" 提交暂存的改动成为一个本地提交
    git push 推送当前分支本地提交到远程,默认是提交到对应的远程库
    git branch -a 查看分支
    git branch <branchname> 创建分支
    git checkout <branchname> 切换分支
    git merge <branchname> 把<branchname>合并到当前分支
    git stash 隐藏当前改动
    git stash list 列出所有隐藏项
    git stash show 查看某一个隐藏项的内容
    git stash pop 恢复最新的隐藏项
    git branch --set-upstream-to=origin/<branch> <local_branch> 设置本地分支追踪的远程分支
    3 发布规则

    Version

    (Red)

    Definition

    Owner

    Comment

    1.1.0.0.0

    Major Release

    DEV Manager

    Only increase by 1 when there is architecture or main framework change. Sub version will be reset to 0.

    1.1.0.0.0

    PROD Release

    DEV Manager

    Increase by 1 for each Production release. Sub version will be reset to 0.

    1.1.1.0.0

    UAT Release

    DEV Manager

    Increase by 1 for each UAT release. Sub version will be reset to 0.

    1.1.0.0.0

    Feature Development

    DEV

    Increase by 1 if Develop Team initialized a new feature or enhancement.

    1.1.0.0.0

    Bug Fix

    DEV

    Increase by 1 when developer fixes a bug reported by testers or clients.

    可以计划使用前三位,其中第三位意义稍有不同,会对应的是SIT Release。

    例如:

    每周三,从dev分支cut分支release_a.b.c.0.0,并发布到SIT env。

    QA基于release_a.b.c.0.0做集中测试,发现的bug和新的feature都会在下周的release_a.b.c+1.0.0发布到SIT。

    稳定版本会被推送到UAT。按照项目计划时间表,最后的稳定版本被推送到生产。

    SIT发布的版本保证版本号前三位的连续,即1.0.0.0.0,1.0.1.0.0,1.0.2.0.0。。。

    UAT和生产发布的版本保证版本号前两位的连续,即1.0.0.0.0,1.1.0.0.0,1.2.0.0.0。。。

    4 分支规则
    master Git的主分支,最稳定的分支,所有release分支发布到生产之后会merge到该分支。dev分子也必须保持与其的同步。 只接受从release分支的合并和hotfix。
    dev 开发的主分支,开发人员应该在测试过自己的代码之后(或许还会有自动化测试案例)才提交到该分支。release分支会从这里cut。务必保证分支健康度。

    Daily Build基于该分支。

    代码提交到dev分支后,resolve对应的JIRA(即Status=TEST IN PROGRESS)

    release_x.x.x.x.x 发布分支,从dev cut出来。理论上只接受dev分支cherry-pick过去的bug fix。QA集中在相关测试。被部署到生产(或者UAT)之后,需要merge到master。 QA验证后,close对应JIRA(即Status=CLOSED)
    其他分支 开发人员自己根据feature或者偏好创建自己的开发分支,建议每日保持与dev同步。该分支上开发完成,unit case完成,自测完成的代码可以merge到dev分支。 代码全部或部分提交到自己的开发分支后,即开始对应功能开发或bug fix任务,start对应的JIRA(即Status=IN PROGRESS)
  • 相关阅读:
    Github
    Vocabulary in Computer
    js中三种定义变量的方式const, var, let的区别
    Node.js-1
    JSON_in_js
    JSON快速入门
    Mysql tinyint长度为1时在java中被转化成boolean型
    maven上解决循环依赖、又不想新加第三模块的方法
    关于springboot和tomcat的服务能力做下简单的测试
    tomcat各个端口的作用
  • 原文地址:https://www.cnblogs.com/ladeng19/p/16337630.html
Copyright © 2020-2023  润新知