Git Best Practice All In One
Git Best Practice All In One
git workflow
本地开发环境:
开发人员自测的,可以是自己本地部署的静态服务器,当然也可类似是运行 npm server类似的环境,本地环境运行的代码可以是任何分支的
dev开发环境:
这个环境是用开发分支dev产出的代码来部署的,唯一的公用的
测试&预发布环境:
这个环境是用开发分支release产出的代码来部署的,唯一的公用的
线上生产环境:
这个环境是用开发分支master产出的代码来部署的,唯一的公用的
git 分支模型
- 所有的分支都是基于master分支检出
master :保护分支,对应的就是生产环境的分支
release:保护分支,所有开发完成的分支会申请合并到release分支,提供给测试人员测试
feature--名字拼音缩写:功能分支,具体功能开发,( 名字拼音缩写 ,方便定位某个开发人员,快速解决冲突问题,feature-fe-monitor-xgqfrms 或 feature/fe-monitor-xgqfrms)
dev:开发分支 & 脏分支( 不要 merge 到 feature 分支),对应的是大家共用的开发环境,上面的代码会部署到一个公共的开发环境,供开发人员做自测,应付一些日常、非日常的调试
hotfix-:bug紧急修复分支,可以直接合并到master,
(假如release合并了几个feature分支,正在测试的情况下,发现需要紧急修复的buf,紧急修复测试完毕后,可以直接合并到master,如果合并到release,在由release合并到master,那些正在测试的功能或者还不准备上线的功能就会跟着直接上线了)
- 工作流程
接到需求文档,做评审后分配个每个人或小组的功能开发,相关人员从master 检出 feature 功能分支
开发的时候除了会在本地测试,有需要还会合并到 dev分支,在公共的开发环境去自己做测试
因为在开发功能的期间,可能有 hotfix完成合并到master,合并代码的时候习惯 merge一下master,防止冲突等
自测完成之后,申请合并到 release,合并成功后部署到测试环境后通知测试人员做测试
测试通过后,release 申请合并到master,准备上线
如果测试不通过,在功能分支修改后重新 merge
上线成功稳定后删除对应的功能分支,dev 合并最新的master分支
一线大厂 git 分支流程
https://www.infoq.cn/article/EaC4c6yiJrzZ_Gtaf9Ne
https://zhuanlan.zhihu.com/p/45157955
http://yr87.cn/jxadd/article_detail/16393
https://biolxy.github.io/2018/12/04/Git-develop-SOAP/
refs
https://segmentfault.com/a/1190000024453209
music
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
Git Best Practice All In One的更多相关文章
- git best practice
1. https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud (atlassian家的git) 2. https: ...
- [git] Git in Practice
Work flow with git and github Work with Remotes Check the current status git status Check the latest ...
- Git 软件开发过程
一.关于Git与Subversion的区别 二.目前我们用Subversion是怎么执行软件过程的 三.优势与缺点 架构 * Git:分布式,所有的teammates本地可以clone一份独立完整的仓 ...
- git submodule 使用
这个是备忘录,原网页: https://medium.com/@porteneuve/mastering-git-submodules-34c65e940407 http://cncc.bingj.c ...
- linux下git的安装和使用(转)
转自:http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html 最近在使用github,感觉不错.在windows下,可使用g ...
- Git错误non-fast-forward
Git错误non-fast-forward后的冲突解决 [日期:2012-04-21] 来源:Linux社区 作者:chain2012 [字体:大 中 小] 当要push代码到git时,出现提示 ...
- Git - Tutorial [Lars Vogel]
From: http://www.vogella.com/tutorials/Git/article.html Git - Tutorial Lars Vogel Version 5.6 Copyri ...
- Git - Tutorial官方【转】
转自:http://www.vogella.com/tutorials/Git/article.html#git_rename_branch Lars Vogel Version 5.8 Copyri ...
- git版本库底层命令
当我们在使用git的时候,有时候需要知道当前文件夹相对于工作目录根目录的相对路径等等,那么我们可以使用 git rev-parse 添加一个参数就可以实现,如: 显示当前仓库版本库 .git 目录所在 ...
随机推荐
- Linux中LPC、RPC、IPC的区别
其实这玩意儿就是纸老虎,将英文缩写翻译为中文就明白一半了. IPC:(Inter Process Communication )跨进程通信 这个概念泛指进程之间任何形式的通信行为,是个可以拿来到处套的 ...
- 脑裂 CAP PAXOS 单元化 网络分区 最终一致性 BASE
阿里技术专家甘盘:浅谈双十一背后的支付宝LDC架构和其CAP分析 https://mp.weixin.qq.com/s/Cnzz5riMc9RH19zdjToyDg 汤波(甘盘) 技术琐话 2020- ...
- spring 之7种重要设计模式
Spring中涉及的设计模式总结 1.简单工厂(非23种设计模式中的一种) 实现方式: BeanFactory.Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获 ...
- UML 博客学习 后续继续完善
http://blog.csdn.net/monkey_d_meng/article/details/6005764 http://blog.csdn.net/badobad/article/det ...
- based on Greenlets (via Eventlet and Gevent) fork 孙子worker 比较 gevent不是异步 协程原理 占位符 placeholder (Future, Promise, Deferred) 循环引擎 greenlet 没有显式调度的微线程,换言之 协程
gevent GitHub - gevent/gevent: Coroutine-based concurrency library for Python https://github.com/gev ...
- ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具
ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具 一.ShowDoc官方文档及说明 1.1 它可以用来做什么 1.2 它都有些什么功能 1.3 使用在线的ShowDoc 1.4 ...
- centos7 快速搭建redis集群环境
本文主要是记录一下快速搭建redis集群环境的方式. 环境简介:centos 7 + redis-3.2.4 本次用两个服务6个节点来搭建:192.168.116.120 和 192.168.1 ...
- python模块----pymysql模块 (连接MySQL数据库)
pymysql模块是专门用来连接mysql数据库的模块,是非标准库模块,需要pip下载 下载 pip install pymysql 查询 import pymysql # 打开数据库连接 db = ...
- The 2019 Asia Nanchang First Round Online Programming Contest C. Hello 2019(动态dp)
题意:要找到一个字符串里面存在子序列9102 而不存在8102 输出最小修改次数 思路:对于单次询问 我们可以直接区间dpOn求出最小修改次数 但是对于多次询问 我在大部分题解看到的解释一般是用线段树 ...
- 前n项余数个数和
一:O(n) 计算贡献:前n项中,能被i(1~n)整除的数的个数为(n/i)个,,也就是 i 给前n项中(n/i)个数做了余数 #include<iostream> using names ...