Git——github高级
分支管理
- 分支不是越多越好,只求一个稳定的分支,即master不要轻易去更改
- 对应master要有一个开发者分支,保证mater分支的稳定性
- 所有的功能都在开发者分支上进行
- 在所有功能开发后新建发布分支(release)

- 上图上半部,只有master这条主线,其他功能分支只要开发完就去与mater融合,这样的操作容易使mater不稳定
- 上图下半部,在master的基本上创建了一个分支开发者,这样功能沿着开发者分着进行功能分支的创建,会多一道保险
具体操作
- 这里说一个背景,那就是我们有两条线,一条master分支,一条developer分支,我们都在developer分支上进行开发任务,此时线上有bug,那么就必须要对master进行修改,背景介绍完了,那么就开始做吧
- 首先为了解决这个bug我们创建hotfix分支,执行命令 git checkout -b hotfix,bug解决了需要赶快上线,那么执行合并操作,切换到master分支下执行 git merge hotfix,将hotfix合并到master中,此时master往前挪了一位与hotfix重合。此时分支hotfix也可以被删除了

- 回到我们的developer分支上,继续我们的功能开发,但是此时有个问题,现在的功能任务开发并没有包含master分支新修改的内容,此时有两个选择
- 要么切换到功能任务分支上执行git merge mater,将mater合并到功能任务分支上
- 要么等功能任务开发完成,切换到mater分支上执行git merge 功能分支,将功能分支合并到master上
- 合并冲突的出现,怎么处理?有时候不同分支对同一个文件的同一部分进行了修改,git就无法判断了,需要自己手动修改,head指的是所切换的分支的代码,====下面就是被合并到其他分支的代码
<<<<<<< HEAD:index.html
<div id="footer">contact : email.support@github.com</div>
=======
<div id="footer">
please contact us at support@github.com
</div>
>>>>>>> iss53:index.html
参考:https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6
Git——github高级的更多相关文章
- 接上篇:Git Worktree 高级使用,这样清爽多了
前言 上一篇文章 Git Worktree 大法真香 带大家了解了 git worktree 是如何帮助我同时在多个分支工作,并且互不影响的.但是创建 worktree 的目录位置不是在当前项目下,总 ...
- git &github 快速入门
本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...
- git+github上传与管理
1.首先下载并安装git,方便管理github上的代码 https://git-scm.com/downloads 2.然后点击安装好的git bash(注册好自己的github) git confi ...
- git/github学习笔记
郑重提示,本文来自这里,如果喜欢,请关注原作者. 1. git 版本控制系统 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块 ...
- Git/GitHub 初用体验与总结
Git,一个神奇而又陌生的东西,居然到现在才去了解它,就像有一位仁兄说的,现在不会用Git真的都不好意思说自己搞IT的. 简单的讲,这Git是目前最先进的分布式版本控制系统,和他相对应的就是众所周知的 ...
- git github简单知识
Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...
- Git/Github + TortoiseGit 使用教程
前言 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 在github上有很多优秀的项目,一个伟大的学习宝库.本文分享使用tortoisegit对github/ ...
- Git+GitHub 使用小结
1.Git安装完成后需要做的配置 $ git config --global user.name "Your Name" $ git confi ...
- Git & Github 一页简明笔记
由于小组工程需要使用git&github的版本控制来协作,但我对其使用并不熟悉,特此写篇一页的笔记放在手边,备随时查阅. 相信这种一页的简明笔记,对大家也是有帮助的.我的笔记总结自廖雪峰的Gi ...
随机推荐
- MapReduce WordCount Combiner程序
MapReduce WordCount Combiner程序 注意使用Combiner之后的累加情况是不同的: pom.xml <project xmlns="http://maven ...
- Office 针式打印机如何调节边距
1 右击针式打印机,选择"打印机属性" 2 点击"打印机参数设置"选项卡,之前打印出来如果发现上下距离不合适,可以通过调节但也纸页顶距来调整 该参数值可 ...
- 【BLE】CC2541之自己定义长短按键
本篇博文最后改动时间:2017年01月06日,11:06. 一.简单介绍 本文以SimpleBLEPeripheral为例,介绍怎样将普通IO口(P12)自己定义为长短按键,实现按键3S以内松开为短按 ...
- hadoop(九) - hbase shell命令及Java接口
一. shell命令 1. 进入hbase命令行 ./hbase shell 2. 显示hbase中的表 list 3. 创建user表,包括info.data两个列族 create 'user' ...
- 向海量用户发送数据哪家最强?上QDN下载LTE Broadcast SDK!
情境一: 在一个数万人的体育场内.作为一名观众你非常难看清运动员的面容.假设有了4G手机.你能够非常easy的打开直播应用.一边看直播讲解,一边体验现场气氛.但令人尴尬的是,现场几万人同一时候须要观看 ...
- UVA 1397 - The Teacher's Side of Math(高斯消元)
UVA 1397 - The Teacher's Side of Math 题目链接 题意:给定一个x=a1/m+b1/n.求原方程组 思路:因为m*n最多20,全部最高项仅仅有20.然后能够把每一个 ...
- c#基于事件模型的UDP通讯框架(适用于网络包编解码)
之前写过一篇关于c#udp分包发送的文章 这篇文章里面介绍的方法是一种实现,可是存在一个缺点就是一个对象序列化后会增大非常多.不利于在网络中的传输. 我们在网络中的传输是须要尽可能的减小传送的数据包的 ...
- easyUI 动态添加窗体
有一张页面A,在页面开头引用了jquery.easyUI.min.js. 现在想达到这么一种效果,点击页面A的一个按钮,弹出一个easyUI窗体.因为想分模块的原因,这个窗体对应的是另一张页面B.在点 ...
- 如何配置MYSQL的MASTER---SLAVE复制备份?
如何配置MYSQL的MASTER---SLAVE复制备份? 一.配置一个mysql服务器做master: 在配置文件my.ini中添加如下内容: log-bin=matster-binlog- ...
- YTU 2507: 李白打酒
2507: 李白打酒 时间限制: 1 Sec 内存限制: 128 MB 提交: 414 解决: 186 题目描述 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中 ...