前端项目中使用git来做分支和合并分支,管理生产版本
最近由于公司前端团队扩招,虽然小小的三四团队开发,但是也出现了好多问题。最让人揪心的是代码的管理问题;公司最近把版本控制工具从svn升级为git。前端H5组目前对git的使用还不是很熟悉,出现额多次覆盖代码和提交冲突的问题。还有最近一次产品版本迭代的时候出现额一个问题: 一个正在开发的版块在下一次版本迭代中不需要上线了,而是修改了这个版块的一些小细节。这个正在开发的版块需要在下下一次产品迭代的时候上线。
这里来简单的记录下使用git做代码版本控制的方法:(主要是建立分支,在分支上修改当前版本的bug,随时准备上线新修复的bug的当前版本;以及同时在主干上继续开发新的功能,为下个版本做准备)
整个的流程图是这样的:

如果不是有这个分支hotfix,那么当你一直在主干上开发新功能的时候,产品或者测试通知你: 你需要在生产版本上修改一些地方,并马上上线时,你只能撤回已经开发好的代码,并进行修改,然后再把撤销的代码在修改上线后再补回去。但是如果是多人操作呢?
于是我们来用git解决这个问题:
创建项目

线上发布1.0版本

1.0版本是这个样子的:


创建分支并切换到分支

创建一个分支: git branch 分支名
查看所有分支: git branch
这时候在当前分支前会有一个 * 号
在分支上修改bug(给当前内容加一个样式)

当前分支变成了这个样子

提交分支的内容:

切换到主干继续开发新功能

这时候你会看到git已经把你的代码切换到了主干代码

目前主干还是1.0版本上线时候的样子

我们在主干上开发新功能(加了一个h1标签)

目前主干上的样子

提交主干的新功能

这里commit 的-a是去掉多余的提交
这时候2.0版本准备上线,合并主干和分支

使用git pull && git push 拉取并提交代码
你会发现你的代码已经具备了上线的全部内容:

目前是这个样子的;

这对于多人开发,和经常性的版本迭代是非常重要的。希望能帮助到大家
前端项目中使用git来做分支和合并分支,管理生产版本的更多相关文章
- 项目中常用git命令操作指令(一般正常的话够用不够再看相关git命令)
配置git1.首先在本地创建ssh key:ssh-keygen -t rsa -C "github上注册的邮箱" //(一路回车)2.进入c:/Users/xxxx_000/.s ...
- 前端项目中使用jsencrypt进行字段加密
前端项目中使用jsencrypt进行字段加密. 使用步骤:①获取公钥②实例化对象③设置公钥④将所需数据进行加密然后返回. 进行一个简单的封装如下 /** * npm install jsencrypt ...
- 在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表
在我的<FastReport报表随笔>介绍过各种FastReport的报表设计和使用,FastReport报表可以弹性的独立设计格式,并可以在Asp.net网站上.Winform端上使用, ...
- 在Vue&Element前端项目中,对于字典列表的显示处理
在很多项目开发中,我们为了使用方便,一般都会封装一些自定义组件来简化界面的显示处理,例如参照字典的下拉列表显示,是我们项目中经常用到的功能之一,本篇随笔介绍在Vue&Element前端项目中如 ...
- 在Vue前端项目中,附件展示的自定义组件开发
在Vue前端界面中,自定义组件很重要,也很方便,我们一般是把一些通用的界面模块进行拆分,创建自己的自定义组件,这样操作可以大大降低页面的代码量,以及提高功能模块的开发效率,本篇随笔继续介绍在Vue&a ...
- svn 创建分支、切换分支 及 合并分支 操作
关联远程仓库: 右键 --- 点击 ' SVN Checkout...' 生成 打开trunk目录,在trunk目录下新建两个文本文件A.java,B.java: 打开A.java输入以下内容: ...
- 二、TortoiseSVN 合并、打分支、合并分支、切换分支
一.合并 点击Edit conflict来编辑冲突: 在合并后的枝干对应栏中编辑后,Save保存后关闭. 二.TortoiseSVN 打分支.合并分支.切换分支 1.SVN打分支 方式一:先检出,再打 ...
- idea实现svn拉分支和合并分支的教程
原文地址:https://blog.csdn.net/qq_27471405/article/details/78498260 今天测试了一下svn拉分支和合并分支的教程,决定分享给大家 拉分支教程: ...
- git篇之二----团体项目中使用git
上篇说了git的简单入门,本篇来说一下在团体项目中我们该如何简单使用git 一般来说,当我们进入公司之后,就前端项目而言,若是有多个同事共同开发一个系统,我们可能会每个人去负责各自的模块. 若是人员较 ...
随机推荐
- BlangenOA项目总结
1.使用EF,当返回的是IQueryable<T>类型,延迟加载. 2.增删改查 分页(页码,页大小,总记录数,是否升序)(两个lambda表达式,一个筛选规则,一个是排序规则(可以选择类 ...
- ASP.NET Core 2 学习笔记(五)静态文件
之前的ASP.NET网站,只要把*.html.*.css.*.jpg.*.png.*.js等静态文件放在项目根目录,默认都可以直接被浏览:但ASP.NET Core 小改了浏览静态文件的方式,默认根目 ...
- (C#)字符串反转
方法一: public static string Reverse(string name) { if (String.IsNullOrEmpty(name)) { ...
- 如何用c#本地代码实现与Webbrowser中的JavaScript交互
关键词:.Net,Webbrowser,JavaScript,communication 参考: 链接:msdn实例-简单的相互调用 代码: [PermissionSet(SecurityAction ...
- const的详解
1.const的成员变量 常成员变量的值不能被更新,将在构造函数时候进行初始化 2.const的成员函数 常成员函数只能调用常成员函数,常成员函数不能修改任何成员变量的数值 3.const的成员对象 ...
- Elasticsearch系列(五)----JAVA客户端之TransportClient操作详解
Elasticsearch JAVA操作有三种客户端: 1.TransportClient 2.JestClient 3.RestClient 还有种是2.3中有的NodeClient,在5.5.1中 ...
- redis内存监控与回收
Redis有自己的内存分配器,当key-value对象被移除时,Redis不会马上向操作系统释放其占用内存.redis之所以这样的设计有两个原因. OS可能会将释放内存交换到虚拟内存,但OS的虚拟内存 ...
- javascript 实用工具函数
整理日常开发中我们常常会使用到的一些工具函数. var utils = (function(){ var fay = {}; // 返回当前时间的毫秒数 fay.getTime = Date.now( ...
- Memcached 查看列出所有key方法
Memcached没有一个比较简单的方法可以直接象Redis那样keys *列出所有的Session key,并根据key get对应的session内容,但是还是可以查看的 memcached 查看 ...
- D05——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D05 20180815内容纲要: 1 模块 2 包 3 import的本质 4 内置模块详解 (1)time&datetime (2)datetime ...