idea+git合并分支解决冲突及详解步骤

Git分支详解参考:

分支管理组成

1.1、master主干

在版本管理中,代码库应该仅有一个主干。此主干是和当前生产保持一致的,是可用的、稳定的可直接发布的版本,不能再主干上进行任何开发操作。git主干的名字,默认叫做 master,它是自动建立的。

1.2、develop主开发分支

因为不能在主干master上进行开发,那么就需要在基于主干master的基础上,创建一个开发主分支develop,开发主分支develop的代码永远是最新的,所有的新功能都是以此分支为基础进行开发的,该分支只是做合并操作,也不能在此分支进行实际开发。

1.3、feature功能开发分支

功能开发分支,在develop上创建分支,采用“feature-” +“分支创建时间”+ “批次名称-”的命名规范。
例如:“feature-20190301-XXX”
此分支既作为需求开发分支又作为需求测试分支,所有需上线内容需在当前分支充分测试通过后,才可提交test分支与其他待上线分支代码进行合并,然后进行test分支回归测试。

1.4、test测试分支

test分支它是指发布正式版本之前(即合并到 master分支之前),我们需要有一个预发布的版本进行测试。
预发布分支是从develop分支上面分出来的,预发布部署生产验证无误,结束以后,必须向下合并进 master和develop分支以及develop衍生所有开发分支,保证各分支基线版本与生产基线同步。

1.5、hotfix紧急bug分支

项目上线后会遇到一些需要紧急修复的bug,那么就需要创建一个紧急bug修改分支,此分支需要从master直接拉取分支进行开发修改,修复完成后必须向下合并进 master和develop分支以及develop衍生所有分支,保证各分支基线版本与生产基线同步。
采用
“hotfix-” +“分支创建时间”+“bug号或bug描述”的命名规范。
例如:“hotfix-20190116-001”

1、切换分支

1)在idea页面右下角点击分支名

2)在git 分支选择框中选择项目一步步选择需要的分支

这里先演示切换到master主干分支,点击Checkout切换

3)切换master主干分支成功

2、合并分支

1)master合并bug001分支

2.1.1. 拉取分支步骤:在项目上右键,Git -> Repository -> Pull

2.1.2. 在更新代码的时候,选择001分支代码,合并到当前分支master,点击Pull

2.1.3. 更新结果,显示37个文件已更新

2.1.4. 从001分支更新代码到当前分支master后,已存到本地仓库,因此需要把本地仓库完整的master分支代码Push到远程分支master分支;Git -> Repository -> Push

2.1.5. 点击Push后,出现详细的推送说明,点击Push

2)develop合并master分支

2.2.1 切换develop分支,原则上develop分支的代码必须和master主干保持一致

2.2.2. 拉取分支步骤:在项目名上右键,Git -> Repository -> Pull,参考2.1.1
先更新远程develop分支到本地,看看有没有需要更新的代码,有的话直接更新

2.2.3. 显示 no items,说明没有需要更新的代码

2.2.4 master分支已经最新的,因此需要把master分支代码合并到develop分支
Git -> Repository -> Pull,选择master分支代码,合并到当前分支develop,点击Pull

更新结果为37文件

2.2.5. 把本地仓库develop分支的代码提交到远程分支develop;Git -> Repository -> Push

显示Push成功

3)Hebei合并develop分支

2.3.1. 切换Hebei分支

切换成功

2.3.2 更新本分支代码,拉取分支步骤:在项目名上右键,Git -> Repository -> Pull,参考2.1.1

2.3.3 合并develop分支代码到当前分支hebei; Git -> Repository -> Pull

2.3.4. 更新时出现冲突文件(20200604 更新,内容是最新的,和上面develop分支内容已不一致)
解决冲突:
选中文件,点击右侧的Merge…

2.3.5. 冲突文件界面解释
冲突文件界面,分为三个部分,最左侧是本地代码;中间是解决冲突后的最终结果文件;最右侧是远程分支的代码
通过比较文件内容,合并需要的代码到中间的位置,最后点击Apply就完成了

解决步骤如下:

更新后的结果为5个文件,其中包含一个解决冲突后的文件

2.3.6. 因为在合并develop分支代码到当前分支hebei 时出现冲突,并且解决冲突后,需要先把代码提交到本地仓库,再把本地仓库的代码提交到远程分支。

右击项目名:
Git-> Commit Directory…

填写适当地 提交信息,然后点击Commit and Push

Commit and Push解释:
先把本地代码提交到了本地仓库,然后等待片刻会自动弹出Push的窗口,再把本地仓库代码推到远程

2.3.7 查看提交信息,然后点击Push,即可把代码提交到远程分支。

到此这篇关于idea+git合并分支解决冲突及详解步骤的文章就介绍到这了,更多相关idea git合并分支解决冲突内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-07-28

Git分支合并冲突解决的方法实现

前2天群里发了张git历史图,如下: 根据提交历史,可以看出图中所有分支合并都采用merge的方式,具体merge是怎么操作的,可以阅读下边文章. 根据项目上的需求,如果要求git提交历史是比较简单的一条时间线,可以使用rebase的合并:如果没有这个要求,可以使用merge合并,其分支树是网状结构,但每个提交也都是比较明确清晰的.他们的区别,可参考git merge与 git rebase区别及实例: rebase合并:本质是先取消自己的提交,临时保存,然后把当前分支更新到最新的origin分

在 Shell 提示符中显示 Git 分支名称的方法

Git 的好处之一就是把代码的分支管理变成了一件极其便捷的事情,分支只保留差异,不用复制任何文件,不用连接网络,快速创建,用完即删.Git 分支与项目的复杂程度无关,不管你的项目多么复杂,创建 Git 分支永远都是瞬间的事情.同时,因为保留了父类分支的信息,所以分支的合并也变得异常简单. 当在一个项目中频繁使用多个分支时,可以使用 git status 命令查询自己现在正工作在哪个分支下面,不过难免有脑子发昏的时候,忘记自己在哪个分支下面,因而发生误操作之类的杯具. 那么把分支显示在 Shell

git分支的创建、切换、合并及删除操作小结

一.查看现存分支 查看现存分支 : git branch命令; git branch 从结果可以看出, 现在只有一个分支master; 二.创建分支 创建分支 : git branch 分之名称, 就可以创建一个分支, 创建完分支以后可以查看分支, 当前使用的分支会显示成为绿色, 前面带有 "*" , 如果不是当前使用的分支, 显示的是白色, 并且没有 "*" 前缀; git branch branch1 三.切换分支 切换分支 : git checkout 分支名

输入法的回车与消息发送快捷键回车的冲突解决方法

问题:在中文输入法输入文字时按ENTER键:绑定keyup事件会将输入法中的英文文字输入到文字框并直接触发发送按钮 键盘事件: 当一个按键被pressed或者released,在每一个浏览器中都可能会触发三种键盘事件 keydown keypress keyup keydown事件发生在按键被按下的时候,接着触发keypress,松开按键的时候触发keyup事件 中文输入法: firfox:输入触发keydown,回车确认输入触发keyup chrome:输入触发keydown.keyup,回车

浅谈Viewpager和轮播图的冲突解决方法

实例如下: //解决ViewPager和轮播图滑动冲突 @Override public boolean dispatchTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: // 让当前viewpager的父控件不去拦截touch事件 getParent().requestDisallowInterceptTouchEvent(true); downX = (int) ev.ge

Android listview的滑动冲突解决方法

Android listview的滑动冲突解决方法 在Android开发的过程中,有时候会遇到子控件和父控件都要滑动的情况,尤其是当子控件为listview的时候.就比如在一个ScrollView里有一个listview,这种情况较常见,就会出现这种滑动冲突的情况.这种情况也比较常见,有时候就是这样,没法,但是,了解事件分发的我们知道应该怎么处理这样的事情 有两点需要注意: 一般来说,view的onTouchEvent返回true,即消耗点击事件,viewgroup的onInterceptTou

Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法

Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法 问题描述: 开发中发现,SwipeRefreshLayout的下拉刷新,与ViewPager开发的banner的左右滑动事件有一点冲突,导致banner的左右滑动不够顺畅.很容易在banner的左右滑动的过程中,触发SwipeRefreshLayout的下拉刷新,从而导致banner左右滑动的体验很差. 解决方案: 可以在ViewPager的滑动时候设置SwipeRefreshLayout暂时不可用,

ViewPager和SlidingPaneLayout的滑动事件冲突解决方法

问题描述: ViewPager和SlidingPaneLayout的滑动事件冲突. 问题分析: 在手指左右滑动时,SlidingPaneLayout会屏蔽ViewPager的滑动事件. 解决办法: 自定义SlidingPaneLayout类 import android.content.Context; import android.support.v4.view.MotionEventCompat; import android.support.v4.widget.SlidingPaneLay

Android Studio Gradle依赖冲突解决方法

前言 本文主要给大家介绍了Android Studio Gradle依赖冲突解决的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1. 查看依赖树 ./gradlew dependencies 2. 解决依赖冲突 一旦在构建中存在依赖冲突,开发人员需要决定哪个版本的库最终包含在构建中,有许多解决冲突的方法. 1. 逐个排除 compile('junit:junit:4.12'){ exclude group : 'org.hamcrest',module:'hamcre

git分支(branch)操作相关命令及分支命令的使用

分支(branch)操作相关命令 查看本地分支:$ git branch 查看远程分支:$ git branch -r 创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支 切换分支:$ git checkout [name] 创建新分支并立即切换到新分支:$ git checkout -b [name] 删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的.如果想强

git分支管理_动力节点Java学院整理

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你