Git flow(使用工具自动git flow+解决合并冲突)
Git flow(使用工具自动git flow+解决合并冲突)
1. Git Flow常用分支
- 生产分支(master)
Master分支只能从其他分支合并,不可直接修改,Master分支的Commit应该Tag
- 补丁分支(hotfix)
当我们在生产环境发现新的Bug时候,我们需要基于master分支创建一个Hotfix分支,然后在Hotfix分支上修复bug,完成Hotfix后,我们要把hotfix分支合并回Master和Develop分支
- 发布分支(release)
当你需要发布一个新功能的时候,要基于Develop分支创建一个Release分支,在Release分支测试并修复bug,完成release后,把release合并到master和develop分支
- 开发分支(develop)
这个分支是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支
- 功能分支(feature)
feature分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release
2. 流程图
3. 使用工具(sourcetree)的Git工作流
初始化分支
开发分支
develop分支增、删、改文件
发布分布
创建新的release分支
release分支测试通过后commit
完成release分支
完成release分支后可以看到,Git工作流已经自动帮我们将release分支删除,并合并到develop、master上
再给master分支打个标签
补丁分支(修复分支)
创建一个新的hotfix分支
修复bug
完成补丁分支
完成后,可以发现,补丁分支已经删除,commit也合并到master、develop分支上,接下来就可以进行下一个release
发布分支测试通过
完成发布分支
完成分布分支之后,自动删除分布分支,并合并到master(打标签)、develop分支上
功能分支
创建新feature分支
开发新功能后提交
完成新功能分支
完成功能分支后自动删除了功能分支,再推送到develop分支,再进入下一个release分支
进入release分支
完成发布分支
4. 合并冲突
现在有两个程序员(张三、李四)协同工作,各拉出一个独立的分支写自己的模块
张三写得快,先提交自己的代码
张三把自己的代码合并到develop分支上
张三这里已经修改了add.html文件,删除了两个readme文件
李四姗姗来迟
李四合并到develop分支上时,出现合并冲突
于是,李四提着刀顺着网线去找张三理论…
双方争执不下,直到开发主管(张三的小舅子)出头。
于是,代码以张三为主,李四在不影响张三代码的情况下,自己还要再调整一下自己代码
最后,合并冲突解决了(李四哭~~)
运行项目:
Git flow(使用工具自动git flow+解决合并冲突)相关推荐
- Git操作远程仓库及解决合并冲突
目录 一.添加远程仓库 二.查看远程仓库 三.推送到远程仓库 四.本地分支与远程分支的关联关系 五.从远程仓库克隆 六.从远程仓库中抓取和拉取 七.解决合并冲突 一.添加远程仓库 此操作是先初始化本地 ...
- Android Studio、Git 解决合并冲突
合并分支,解决冲突 执行Git merge ,如果有冲突,就会出现如下格式: <<<<<<< HEAD 这个位置的内容就是当前所在分支的内容 ======= ...
- git分支及如何解决合并冲突问题
几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug 修改.开发新的功能,以免影响开发主线. 1. 查看本地分支 命令:git bran ...
- 已经无法合并还报请合并git_GIT 分支管理:创建与合并分支、解决合并冲突
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...
- Git学习之解决合并冲突
① 解决冲突 把Git合并失败的文件手动编辑成我们希望的内容 ② 提交,合并完成 场景: ① 新分支feature1,修改后,add, commit: ② 切回master后,修改后,add, com ...
- 如何解决Git中的合并冲突
如何解决Git中的合并冲突? #1楼 对于想要半手动解决合并冲突的Emacs用户: git diff --name-status --diff-filter=U 显示所有需要解决冲突的文件. 依次打开 ...
- Git分布式版本管理工具
Git_1_概述 1.特性 能够记录历史版本,回退历史版本 团队开发,方便代码合并 2.介绍(摘自维基百科) git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL许可协议发布 ...
- 项目开发-工具-版本控制Git完整系统化使用说明
Git使用说明 前言 1. 起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 是什么? 1.4 命令行 1.5 安装 Git 1.6 初次运行 Git 前的配置 1.7 获取帮助 1. ...
- Git分布式版本控制工具【IDEA版】【安装和使用以及上传代码到Gitee】(一篇文章精通系列)
一.目标 了解Git基本概念 能够概述git工作流程 能够使用Git常用命令 熟悉Git代码托管服务 能够使用idea操作git 二.Git概述 1.开发中的实际场景 场景一:备份 小明负责的模块就要 ...
最新文章
- 用window.location.href实现刷新另个框架页面
- 使用python3 解析html对称标签
- 985女研究生连算法都不会,还面试什么大厂!
- php树形结构变成线性结构,php把数据集转换成树状结构,无限极分类生成树状 – CSDN博客...
- java sourcepath_说一下Java里面的路径问题,CLASSPATH和SOURCEPATH
- SAP UI5 应用开发教程之一:Hello World
- C与C++中的extern与static、extern C与__cplusplus的作用
- python numpy数组动态写入csv文件_python - 将NumPy数组转储到csv fi中
- mvc 根据模板导出excel,直接导出文件流
- JavaScript 中的事件对象(读书笔记思维导图)
- 服务器监控报警系统软件设计,Monitor监控报警系统
- React Native布局实践:开发京东客户端首页(三)——轮播图的实现
- Ubuntu中文件颜色的含义
- AcWing 487. 金明的预算方案 (有依赖关系的背包问题)
- 开机就显示重启界面,Lenovo重装Win 10系统的解决办法之一
- 代码主题darcula_设置 IntelliJ IDEA 的彩色代码主题
- QUASI-HYPERBOLIC (拟双曲线) MOMENTUM AND ADAM FOR DEEP LEARNING——精读
- VmWare12 遭win11程序兼容性助手阻止运行的解决方法
- 分层结构的生活例子_分层作业设计案例
- python已打开页面获取信息_python+selenium实现自动登录网页获取信息(一)