git开发部署流程

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 [email protected].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 为例,工程师需要做以下步骤:

  1. 建立 develop 的分支 feature/search-recommend
  2. 在该分支上进行开发,完成后进行本地提交
  3. 切换到 develop 分支,pull拉取远程仓库最新版本
  4. 此时本地 develop 分支是最新版本,然后 merge 分支 feature/search-recommend
  5. 如果此时有冲突,清除后commit
  6. 把本地合并后的分支 develop push 到远程 develop
  7. 在 develop 分支环境下进行测试
  8. 一切ok,删除该功能分支
  9. 切到 master 分支,pull 然后 merge develop,收工

遵循原则&事项

  1. 每次 merge 前先 pull 远程分支在进行合并
  2. 每完成一个功能就提交一次,不要累计代码

代码

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,需要立即修复,那么:

  1. 在 master 分支上拉一个 hotfix 分支 hotfix/0.0.1
  2. 修复后 merge 回 master 分支
  3. 再 merge 回 develop 分支
  4. 删除该分支
  5. 应始终保证 master 和 develop 上都修复了该bug

命名规范

分支命名

除了主要分支的名字是固定的之外,派生分支是需要自己命名的,采用如下形式:

  • feature : 按照功能点(而不是需求)命名 feature/ ;如 *feature/weixin_recharge
  • hotfix : 通过平台生成的问题编号来命名;如 hotfix/#1

原文地址:https://www.cnblogs.com/fengli9998/p/8818262.html

时间: 2024-10-12 14:09:22

git开发部署流程的相关文章

【FPGA-F3】阿里云FAAS平台,极大简化FPGA开发部署流程

摘要: 阿里FPGA云服务器平台FaaS(FPGA as a Service)在云端提供统一硬件平台与中间件,可大大降低加速器的开发与部署成本.普惠开发者 FPGA (现场可编程门阵列)由于其硬件并行加速能力和可编程特性,在传统通信领域和IC设计领域大放异彩.一路走来,FPGA的技术并不是一个新兴的硬件器件,由于其开发门槛过高,硬件加速算法的发布和部署保护要求非常高,FPGA的使用一直是高冷的美人,没有走入平常百姓家.也就导致FPGA的计算潜力还没有得到深入的挖掘. 阿里FPGA云服务器平台Fa

GIT入门笔记(20)- git 开发提交代码过程梳理

git开发提交流程新项目开发,可以直接往master上提交老项目维护,可以在分支上修改提交,多次add和commit之后,也可以用pull合并主干和本地master,解决冲突后再push 1.检出代码 git clone http://gitserver/kubernetes/api-gateway-controller.git git clone http://gitserver/kubernetes/api-gateway-engine.git 引入为eclipse工程,修改代码 2.提交代

关于开发环境 git 重新部署

apps  开发机器 多次因为升级出现无法登陆 下面就重新部署 流程做笔记 1   备份 根目录下的 那一堆shell 和 Cache/data 下的系统配置 2  shell : su www   切换到 www用户  删除目录下所有文件 包括 git 3 git init git remote add origin [email protected]192.168.1.240:ranmufei/apps.git git push -u origin master git pull 拉取 因为

使用Git Hooks实现开发部署任务自动化

使用Git Hooks实现开发部署任务自动化 提供:ZStack社区 前言 版本控制,这是现代软件开发的核心需求之一.有了它,软件项目可以安全的跟踪代码变更并执行回溯.完整性检查.协同开发等多种操作.在各种版本控制软件中,git是近年来最流行的软件之一,它的去中心化架构以及源码变更交换的速度被很多开发者青睐. 在git的众多优点中,最有用的一点莫过于它的灵活性.通过"hooks"(钩子)系统,开发者和管理员们可以指定git在不同事件.不同动作下执行特定的脚本. 本文将介绍git hoo

理房通git开发流程

理房通git开发流程1.在worker用户下拉主干git clone url2.创建并切换到分支git co -b fixAcc3.在分支上建开发环境并开发php init 4.提交本地分支 git commit -m "修改账户信息中的手机号" 5.将分支推向源端#git pull origin modify_telephone_branch#fatal: Couldn't find remote ref modify_telephone_branchgit push origin

基于大神张林峰指导 自编 Git 开发流程2.0

GIT 开发规范 2.0 目前公司的master分支已经受保护 不允许直接 push 如果想需提交一个marge request 开发流程2.0 步骤流程: 1. 切换到Master分支 git checkout master 2. 从master分支 检出一个新的功能分支 git checkout -b master-mongodb-wdj master 并且记住当前 commit号 例: 1000000 3. 提交 本地代码 git add . git commit -m ‘dev 开发mo

Ubuntu 18.04开发环境部署流程

部署流程 安装系统 安装Eclipse和jre 配置系统 安装辅助工具 安装系统 用安装盘安装即可. 一般boot 1G,swap按内存大小,home 20G,根剩余. 安装Eclipse和jre 解压到文件夹eclipse-cpp-oxygen-3-linux-gtk-x86_64.tar.gz和jre-8u161-linux-x64.tar.gz得到eclipse/和jre1.8.161/ sudo mv ./eclipse /opt sudo mv ./jre1.8.161 /usr/li

FastAdmin 插件的 Git 开发流程(简明)

FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 git 仓库的代码 使用 php think addon -a cms -c enable --force=true 更新代码,可以做也一个 bat 原文地址:https://www.cnblogs.com/F4NNIU/p/10115984.html

[git]git开发流程

git开发正确做法: 本地要有一个分支A和远端的分支保持对应 然后本地新开分支B开发,提交记录 如果需要将代码推送到远端的话,就切换回A,首先在A分支上pull同步远端的代码(pull还是fetch+merge) 然后将分支B上的开发代码merge到分支A上. 然后再往服务端推送. 图解里面的处理,本地就一个分支,既用于和远端的分支映射,又用来做本地的开发,这是不合适的.