git开发部署流程
git的分支操作
https://blog.csdn.net/QH_JAVA/article/details/77853605
Git 开发部署流程
采用业界成熟方案 Git Flow 分支方式进行开发;一个经典的 Git 开发/部署流程包括几个环境:本地开发环境、线上测试环境、线上生产环境,分别对应git的本地工作环境、develop 分支、master 分支
无图言屌
- 本地开发环境 : 本地仓库分支工作环境
- 线上测试环境 : 远程 develop 分支
- 线上生产环境 : 远程 master 分支
先在本地进行开发,做一次完整的提交 push 到 develop 分支,进行线上测试,一切正常 push 到 master 分支,一个完整的部署过程over.
Git Flow
图示
分支职责
- master : 最为稳定功能最为完整的随时可发布的代码;
- develop : 永远是功能最新最全的分支;
- hotfix : 修复线上代码的 bug;
- feature : 某个功能点正在开发阶段;
确切的说 master、develop 分支大部分情况下都会保持一致,只有在上线前的测试阶段 develop 比 master 的代码要多,一旦测试没问题,准备发布了,这时候会将 develop 合并到 master 上.
但是我们发布之后又会进行下一版本的功能开发,开发中间可能又会遇到需要紧急修复 bug ,一个功能开发完成之后突然需求变动了等情况,所以 Git Flow 除了以上 master 和 develop 两个主要分支以外,还提出了以下三个辅助分支:
- feature : 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
- hotfix : 修复 master 上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后 merge 回 master 和 develop
实际开发中release分支用的比较少,对我们不太适用,所以不在开发流当中
流程
下载项目
首先安装 SSH keys : 详细教程
项目管理员会首选在远程仓库创建仓库,并建立develop分支.
作为开发人员,在本地:
git clone git@code.aliyun.com:your_org/your_project.git
git branch -a -v
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
- 1
- 2
- 3
- 4
- 5
- 6
建立 develop 分支
git checkout -b develop master
## add & commit .....
git push –set-upstream origin master
git branch -a -v
- 1
- 2
- 3
- 4
分支开发
以开发功能分支 feature/search-recommend 为例,工程师需要做以下步骤:
- 建立 develop 的分支 feature/search-recommend
- 在该分支上进行开发,完成后进行本地提交
- 切换到 develop 分支,pull拉取远程仓库最新版本
- 此时本地 develop 分支是最新版本,然后 merge 分支 feature/search-recommend
- 如果此时有冲突,清除后commit
- 把本地合并后的分支 develop push 到远程 develop
- 在 develop 分支环境下进行测试
- 一切ok,删除该功能分支
- 切到 master 分支,pull 然后 merge develop,收工
遵循原则&事项
- 每次 merge 前先 pull 远程分支在进行合并
- 每完成一个功能就提交一次,不要累计代码
代码
git checkout -b feature/search-recommend develop ##创建并切换到分支
git add somefile
git commit -m 'msg'
git checkout develop
git pull
git merge feature/search-recommend
git push
git checkout master
git merge devlop
git push
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
紧急修复bug
工程师们开开心心的在自己分支上进行开发,此时线上突然出现一bug,需要立即修复,那么:
- 在 master 分支上拉一个 hotfix 分支 hotfix/0.0.1
- 修复后 merge 回 master 分支
- 再 merge 回 develop 分支
- 删除该分支
- 应始终保证 master 和 develop 上都修复了该bug
命名规范
分支命名
除了主要分支的名字是固定的之外,派生分支是需要自己命名的,采用如下形式:
- feature : 按照功能点(而不是需求)命名 feature/ ;如 *feature/weixin_recharge
- hotfix : 通过平台生成的问题编号来命名;如 hotfix/#1
git开发部署流程的更多相关文章
- Kent Beck揭秘Facebook开发部署流程
http://www.infoq.com/cn/news/2013/10/facebook-development-deployment Facebook是世界上最大的社交网站,有超过10亿用户每月至 ...
- 使用git开发的流程
1.git常用的主干,分支命令 查看分支 git branch 或者 git branch -v A) 创建分支 git branch Dev_samples_V1.0.0 B) 切换分支 git c ...
- FastAdmin Git 开发更新流程
更加简洁的流程 FastAdmin 使用 Git 更新的新用法 https://www.cnblogs.com/F4NNIU/p/9120365.html
- GIT入门笔记(20)- git 开发提交代码过程梳理
git开发提交流程新项目开发,可以直接往master上提交老项目维护,可以在分支上修改提交,多次add和commit之后,也可以用pull合并主干和本地master,解决冲突后再push 1.检出代码 ...
- 开发与测试整体过程中的Git分支merge流程
开发与测试整体过程中的Git分支merge流程 Git分支merge之开发流程 首先在Gitlab上有个仓库存储着原始的项目代码,其中包含一个叫master的分支.然后可能按功能进行分配,由不同的开发 ...
- 关于开发环境 git 重新部署
apps 开发机器 多次因为升级出现无法登陆 下面就重新部署 流程做笔记 1 备份 根目录下的 那一堆shell 和 Cache/data 下的系统配置 2 shell : su www ...
- 正确的git开发流程
正确的git开发流程 第一步 在github中创建一个新的仓库,这时候项目是空的,而且只有一个master分支 第二步 第一个开发人员进来了,他在本地创建一个develop分支,并且提交到远程 git ...
- FastAdmin 插件的 Git 开发流程(简明)
FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...
- Ubuntu 18.04开发环境部署流程
部署流程 安装系统 安装Eclipse和jre 配置系统 安装辅助工具 安装系统 用安装盘安装即可. 一般boot 1G,swap按内存大小,home 20G,根剩余. 安装Eclipse和jre 解 ...
随机推荐
- EasyUI-Tree的使用
在web开发中,树是比较常见的东西.以前用过zTree,也用过EasyUI-Tree,过了好久后发现都忘记怎么用了. 这几天重新回顾了EasyUI-tree的使用,在此将相关知识点记录 ...
- InkCanvas控件的使用
原文:InkCanvas控件的使用 ==>InkCanvas设置位置跟Canvas一样.通过InkCanvas.Top之类的设置,需要设置的属性有EditingMode,来自于InkCanvas ...
- 配置LNPM
在 Ubuntu 系统中,可以使用 apt-get 命令来搭建 LNMP环境.这种方式较编译方式安装更加简便,因此选择使用该方式来搭建环境以供学习. 安装Nginx 使用 sudo apt-get i ...
- 整理一些常用的前端CND加速库,VUE,Jquery,axios
VUE https://cdn.staticfile.org/vue/2.2.2/vue.min.js Jquery https://cdn.bootcss.com/jquery/3.4.0/jque ...
- tensorflow 曲线拟合
tensorflow 曲线拟合 Python代码: import numpy as np import tensorflow as tf import matplotlib.pyplot as plt ...
- Nginx+IIS分布式部署和负载均衡
1.IIS中部署2个网站 创建2个网站,端口分别为9001.9002 2.下载Nginx 可以进入Nginx官网进行下载,官网地址: http://nginx.org/,需要下载windows版的 3 ...
- 机器视觉及图像处理系列之一(C++,VS2015)——搭建基本环境
自<人脸识别>系列发布至今,已一年多矣,期间除答复些许同好者留言外,未再更新文,盖因项目所迫,不得已转战它途,无暇.无料更博耳.其时,虽人已入项目中,然终耿怀于人脸识别方案之谬.初,写此文 ...
- jumpserver部署
1.部署环境.安装依赖包 # yum install git python-pip mysql-devel gcc automake autoconf python-devel vim sshpass ...
- B1022. D进制的A+B
除基取余法 #include<bits/stdc++.h> using namespace std; stack<int> s; int main(){ long long a ...
- VC++ 屏蔽掉警告
使用VC6.0在开发程序的时候经常会遇到很多警告,很麻烦,也很耽误时间,可以使用如下方法屏蔽掉警告 在StdAfx.h 中 #define VC_EXTRALEAN 下面增加:#pragma warn ...