最近由于公司前端团队扩招,虽然小小的三四团队开发,但是也出现了好多问题。最让人揪心的是代码的管理问题;公司最近把版本控制工具从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. Javascript设计模式理论与实战:享元模式

    享元模式不同于一般的设计模式,它主要用来优化程序的性能,它最适合解决大量类似的对象而产生的性能问题.享元模式通过分析应用程序的对象,将其解析为内在数据和外在数据,减少对象的数量,从而提高应用程序的性能 ...

  2. NETSDK1061错误解决

    NETSDK1061错误解决 在vs生成和运行都正常,发布的时候报错 .netcore控制台项目引用另一个类库 错误信息 NETSDK1061: 项目是使用 Microsoft.NETCore.App ...

  3. NetCore入门篇:(三)Net Core项目Nuget及Bower包管理

    一.创建项目 1.如何创建项目,参照上一篇文章 二.程序包介绍 1.Net Core的程序包分前后端两种,后端用nuget,前端用bower. 2.与Net 不同,Net Core引用nuget包时, ...

  4. Docker容器的原理与实践(上)

    本文来自网易云社区. 虚拟化 是一种资源管理技术,将计算机的各种资源予以抽象.转换后呈现出来, 打破实体结构间的不可切割的障碍,使用户可以比原本更好的方式来应用这些资源. Hypervisor 一种运 ...

  5. 经典贪心算法(哈夫曼算法,Dijstra单源最短路径算法,最小费用最大流)

    哈夫曼编码与哈夫曼算法 哈弗曼编码的目的是,如何用更短的bit来编码数据. 通过变长编码压缩编码长度.我们知道普通的编码都是定长的,比如常用的ASCII编码,每个字符都是8个bit.但在很多情况下,数 ...

  6. Atcoder Tenka1 Programmer Contest 2019题解

    传送门 \(C\ Stones\) 最后肯定形如左边一段白+右边一段黑,枚举一下中间的断点,预处理一下前缀和就可以了 int main(){ // freopen("testdata.in& ...

  7. FunDA(6)- Reactive Streams:Play with Iteratees、Enumerator and Enumeratees

    在上一节我们介绍了Iteratee.它的功能是消耗从一些数据源推送过来的数据元素,不同的数据消耗方式代表了不同功能的Iteratee.所谓的数据源就是我们这节要讨论的Enumerator.Enumer ...

  8. Volley源码解析

    说点题外话,将近三个半月没有写博客了,年初换工作,在新的公司,上班第三天开始干活,花了二十来天弄了一个项目,上线后,接着又迭代了几个版本,不知不觉,试用期过完,才稍微有几天闲时.在年初的时候,就一直在 ...

  9. day 53 Django form 组件 autu 组件

    https://github.com/Endless-Clould/homework/tree/master/auto_zujian ---恢复内容开始--- 前情提要: Django 组件 的 fo ...

  10. ffmpeg + nginx 搭建流媒体

    //安装nginx rtmp 流媒体服务 1.安装nginx+rtmp模块  brew install nginx-full --with-rtmp-module 2.修改配置文件 /usr/loca ...