最近由于公司前端团队扩招,虽然小小的三四团队开发,但是也出现了好多问题。最让人揪心的是代码的管理问题;公司最近把版本控制工具从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来做分支和合并分支,管理生产版本的更多相关文章

  1. 项目中常用git命令操作指令(一般正常的话够用不够再看相关git命令)

    配置git1.首先在本地创建ssh key:ssh-keygen -t rsa -C "github上注册的邮箱" //(一路回车)2.进入c:/Users/xxxx_000/.s ...

  2. 前端项目中使用jsencrypt进行字段加密

    前端项目中使用jsencrypt进行字段加密. 使用步骤:①获取公钥②实例化对象③设置公钥④将所需数据进行加密然后返回. 进行一个简单的封装如下 /** * npm install jsencrypt ...

  3. 在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表

    在我的<FastReport报表随笔>介绍过各种FastReport的报表设计和使用,FastReport报表可以弹性的独立设计格式,并可以在Asp.net网站上.Winform端上使用, ...

  4. 在Vue&Element前端项目中,对于字典列表的显示处理

    在很多项目开发中,我们为了使用方便,一般都会封装一些自定义组件来简化界面的显示处理,例如参照字典的下拉列表显示,是我们项目中经常用到的功能之一,本篇随笔介绍在Vue&Element前端项目中如 ...

  5. 在Vue前端项目中,附件展示的自定义组件开发

    在Vue前端界面中,自定义组件很重要,也很方便,我们一般是把一些通用的界面模块进行拆分,创建自己的自定义组件,这样操作可以大大降低页面的代码量,以及提高功能模块的开发效率,本篇随笔继续介绍在Vue&a ...

  6. svn 创建分支、切换分支 及 合并分支 操作

    关联远程仓库: 右键  ---  点击 ' SVN Checkout...' 生成 打开trunk目录,在trunk目录下新建两个文本文件A.java,B.java: 打开A.java输入以下内容: ...

  7. 二、TortoiseSVN 合并、打分支、合并分支、切换分支

    一.合并 点击Edit conflict来编辑冲突: 在合并后的枝干对应栏中编辑后,Save保存后关闭. 二.TortoiseSVN 打分支.合并分支.切换分支 1.SVN打分支 方式一:先检出,再打 ...

  8. idea实现svn拉分支和合并分支的教程

    原文地址:https://blog.csdn.net/qq_27471405/article/details/78498260 今天测试了一下svn拉分支和合并分支的教程,决定分享给大家 拉分支教程: ...

  9. git篇之二----团体项目中使用git

    上篇说了git的简单入门,本篇来说一下在团体项目中我们该如何简单使用git 一般来说,当我们进入公司之后,就前端项目而言,若是有多个同事共同开发一个系统,我们可能会每个人去负责各自的模块. 若是人员较 ...

随机推荐

  1. 【AppCan 开发者】移动信息化随想

    现在的移动信息化,准确来说,是手机智能网络化.从08年到14年这6年时间里,手机发生翻天覆地的变化,成为移动设备智能中心,取得巨大成就,也成就一批公司,带动移动互联网的发展,引来众多人眼红热血投入.其 ...

  2. (zxing.net)解码

    //图片路径 string imgPath = @"D:\barcode.png"; //解码通用类 IBarcodeReader reader = new BarcodeRead ...

  3. Asp .Net Core网页数据爬取笔记

    突然要用到地区数据,想到以前用python的Scrapy框架写过一个爬虫,于是打算直接去国家统计局把最新的地区数据抓取回来.本想只需要copy一下以前的代码,就可以得到新鲜出炉的数据,谁知打开以前的项 ...

  4. 在QT中用git做版本管理时遇到的一些问题

    1. 安装git sudo apt-get install git 2. 安装gitk sudo apt-get install gitk 要提交代码,点击  工具->git->local ...

  5. go get golang.org/x/net 安装失败的解决方法!

    GO语言在github.com上建立了自己的项目,对应的包如果不能下载,那么可以到这里去下载,比如:"go get golang.org/x/net"不能下载这个包,那么我们可以访 ...

  6. python del 方法的使用

    在Python 的自带函数中 del 函数是一个非常特殊但是又非常使用的函数 my_list = [1,2,3] my_dict = {"name":"lowman&qu ...

  7. elasticsearch索引路径规则

    Path to data on disk In prior versions of Elasticsearch, the path.data directory included a folder f ...

  8. Flask从入门到精通之模型定义

    模型这个术语表示程序使用的持久化实体.在ORM 中,模型一般是一个Python 类,类中的属性对应数据库表中的列. Flask-SQLAlchemy 创建的数据库实例为模型提供了一个基类以及一系列辅助 ...

  9. (原创)定时线程池中scheduleWithFixedDelay和scheduleAtFixedRate的区别

    scheduleAtFixedRate 没有什么歧义,很容易理解,就是每隔多少时间,固定执行任务. scheduleWithFixedDelay 比较容易有歧义 貌似也是推迟一段时间执行任务,但Ora ...

  10. centos 7 初始化脚本

    #!/bin/bash # 时间: 2018-11-21 # 作者: HuYuan # 描述: CentOS 7 初始化脚本 # 加载配置文件 if [ -n "${1}" ];t ...