远程仓库有master和dev分支的情况

1. 克隆代码

  1. git clone https://somewhere.com/master-dev.git

2. 查看所有分支

  1. git branch --all
  2. # 默认有了dev和master分支,所以会看到如下三个分支
  3. # master[本地主分支] origin/master[远程主分支] origin/dev[远程开发分支]
  4. # 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
  5. # 但是origin/dev分支在本地没有任何的关联,所以我们无法在那里开发

3. 创建本地关联origin/dev的分支

  1. git checkout dev origin/dev
  2. # 创建本地分支dev,并且和远程origin/dev分支关联,本地dev分支的初始代码和远程的dev分支代码一样

4. 切换到dev分支进行开发

  1. git checkout dev
  2. # 这个是切换到dev分支,然后就是常规的开发

远程仓库只有mater分支的情况

1. 克隆代码

  1. git clone https://somewhere.com/master-dev.git

2. 查看所有分支

  1. git branch --all
  2. # 默认只有master分支,所以会看到如下两个分支
  3. # master[本地主分支] origin/master[远程主分支]
  4. # 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步

3. 创建本地新的dev分支

  1. git branch dev # 创建本地分支
  2. git branch # 查看分支
  3. # 这是会看到master和dev,而且master上会有一个星号
  4. # 这个时候dev是一个本地分支,远程仓库不知道它的存在
  5. # 本地分支可以不同步到远程仓库,我们可以在dev开发,然后merge到master,使用master同步代码,当然也可以同步

4. 发布dev分支

  1. git push origin dev:dev
  2. # 发布dev分支指的是同步dev分支的代码到远程服务器
  3. # 这样远程仓库也有一个dev分支了

5. 在dev分支开发代码

  1. git checkout dev # 切换到dev分支进行开发

6. 开发代码之后,两个选择
第一个:如果功能开发完成了,可以合并主分支

  1. git checkout master # 切换到主分支
  2. git merge dev # 把dev分支的更改和master合并
  3. git push # 提交主分支代码远程
  4. git checkout dev # 切换到dev远程分支
  5. git push # 提交dev分支到远程

第二个:如果功能没有完成,可以直接推送

  1. git push
  2. # 提交到dev远程分支
  3. # 注意:在分支切换之前最好先commit全部的改变,除非你真的知道自己在做什么

7. 删除分支

  1. git push origin :dev
  2. # 删除远程dev分支

下面两条是删除本地分支

  1. git checkout master # 切换到master分支
  2. git branch -d dev # 删除本地dev分支

在服务端需要维护的分支应当包含:
master: 用于生产环境发布
release: 用于测试环境发布
hotfixes: 用于master的bug修复
dev-* : 用于各个功能团队开发

Git开发分支管理的更多相关文章

  1. git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发

    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码 ...

  2. Git的分支管理

    0.引言 本文参考最后的几篇文章,将git的分支管理整理如下.学习git的分支管理将可以版本进行灵活有效的控制. 1.如何建立与合并分支 1.1分支的新建与合并指令 新建分支 newBranch,并进 ...

  3. 你真的了解git的分支管理跟其他概念吗?

    现在前端要学的只是太多了,你是不是有时会有这个想法,如果我有两个大脑.一个学Vue,一个学React,然后到最后把两个大脑学的知识再合并在一起,这样就能省时间了. 哈哈,这个好像不能实现.现实点吧!年 ...

  4. git flow开发分支管理模型

    Git Flow 是什么 Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践.Git Flow是一套使用Git进行源代码管理时的一套行为规范和简化 ...

  5. 引入git flow分支管理

    git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴.它可以使得版本库的演进保持简洁,主干清晰,各个分支各司其职.井井有条. 先看下Vincent Driessen ...

  6. git branch分支管理用法总结

    查看分支(远程和本地) 1 查看本地分支: $ git branch 2 查看远程分支: $ git branch -r 3.查看本地和远程分支 $ git branch -a 创建分支 1.创建本地 ...

  7. git(二) 分支管理

    概念 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇 ...

  8. Git Flow 分支管理简述

    概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  9. git flow分支管理

    阅读目录 两种核心分支 三种临时分支 Git Flow流程示例代码 Git Flow工具 分支命名规范 总结 git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴. ...

随机推荐

  1. 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)

    RAC在LINUX上使用NFS安装前准备(六) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇 ...

  2. SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划

    1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: alter session set sql_trace = true; //开始sql_trace alter session ...

  3. (原)用pixi.js 实现 方块阵点击后原地自转效果

    源码 各位,请教一个问题,我这个还有BUG,我是想实现,点击一下可以 停止转动,然后再点一下重新转动.而不是一直加速,有没有什么好办法?  PS:问题已经解决,谢谢评论的大神@Antineutrino ...

  4. DDD及相关概念

    领域:指一个具体的应用范围,比如电商.订票管理.会议管理等,实现某一领域的功能,与其对应的商业领域一致.譬如Contoso会议管理系统从两个方面来阐述(1)系统概览:销售会议座位.创建新会议[领域的活 ...

  5. .net工具类

    ConvertHelper public class ConvertHelper { /// <summary> /// 转换类型 /// </summary> /// < ...

  6. Entity Framework Extended Library

    扩展了实体框架的功能类库. https://github.com/loresoft/EntityFramework.Extended 1批量更新/删除 1)删除 //delete all users ...

  7. 【无私分享:ASP.NET CORE 项目实战(第七章)】文件操作 FileHelper

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 在程序设计中,我们很多情况下,会用到对文件的操作,在 上一个系列 中,我们有很多文件基本操作的示例,在Core中有一些改变,主 ...

  8. js实现toggleClass

  9. Web报表工具FineReport填报界面键盘操作

    对于一张填报数据较多的报表,需要用户频繁地操作鼠标.而FineReport填报界面除去按钮类型的控件,其余可以完全使用键盘而不需要用鼠标操作,对于用户而言,这将极大的节省信息录入的时间. 这里我们对填 ...

  10. SAP CRM 7.0中的BOL(Business Object Layer)

    业务对象层(BOL)和通用交互层(GenIL)属于业务层. 业务对象层:   在CRM WebClient会话运行期间,业务对象层存储业务对象的数据以及它们属性和关系的定义. 通用交互层 通用交互层将 ...