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合并分支解决冲突内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

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

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

    Git分支详解参考: 分支管理组成 1.1.master主干 在版本管理中,代码库应该仅有一个主干.此主干是和当前生产保持一致的,是可用的.稳定的可直接发布的版本,不能再主干上进行任何开发操作.git主干的名字,默认叫做 master,它是自动建立的. 1.2.develop主开发分支 因为不能在主干master上进行开发,那么就需要在基于主干master的基础上,创建一个开发主分支develop,开发主分支develop的代码永远是最新的,所有的新功能都是以此分支为基础进行开发的,该分支只是做

  • 详解Git合并分支的流程步骤

    正常合并分支dev到master流程: (合并到其他分支类似哈) 1.要合并的dev分支先更新提交所有文件 注意: 如果不需要提交的本地化修改文件的话,最好不要提交上去.临时备份然后删掉或者撤回. 进入项目根目录,然后执行: git add . git commit -m '提交所有dev分支的文件' git push -u origin dev 2.切换到master分支 git checkout master 3.更新master代码到最新 git pull origin master 4.

  • Git基础学习之分支操作的示例详解

    目录 1.新建一个分支并且使分支指向指定的提交对象 2.思考 3.项目分叉历史的形成 4.分支的总结 1.新建一个分支并且使分支指向指定的提交对象 使用命令:git branch branchname commitHash. 我们现在本地库中只有一个 master 分支,并且在 master 分支有三个提交历史. 需求:创建一个 testing 分支,并且testing 分支指向 master 分支第二个版本. # 1.查看提交历史记录 L@DESKTOP-T2AI2SU MINGW64 /j/

  • Android 运用@JvmName解决函数签名冲突问题详解

    Kotlin(JVM) 中定义下面这样两个方函数时,编译器会报错 fun foo(value: List<String>) {} fun foo(value: List<Int>) {} Platform declaration clash: The following declarations have the same JVM signature (method(Ljava/util/List;)V): 因为 Java 的泛型编译期擦除,所以 JVM 无法识别签名中泛型的区别,

  • Git的代码合入流程详解

    目录 总述 Rebase解决冲突 适用情况 操作方式 Squash解决冲突 适用情况 操作方式 Merge执行合入 总述 代码合入流程用于减轻代码合入复杂度.简化主分支历史(具有线性的历史).保证合入代码对主分支的HEAD有效.代码合入分为两步 解决冲突:将需要合入的分支变基到目标分支之上.保证合入代码对目标分支的HEAD有效.此时会解决所有代码冲突. 执行合入:向目标分支提交merge请求,执行合入CI后完成合入. 其中第一步“解决冲突”的方法分为两种种情况: Squash.如 feature

  • React使用useEffect解决setState副作用详解

    目录 介绍一下API fetch()方法访问API setState的副作用 使用useEffect解决这个问题 使用useEffect操控函数运行 介绍一下API 本文主要内容:描述了setState与fetch之间产生的冲突副作用,并使用useEffect进行解决 API,即Application Programming Interface,应用程序接口,是很多程序向开发人员提供的易于使用的抽象化的代码. 比如经常会用到的查询天气API,智能识图API,如果是直接照着复杂的代码编写,会相当不

  • K8S 实用工具之合并多个kubeconfig实现详解

    目录 开篇 解决方案 方案一:KUBECONFIG 环境变量指向多个文件 方案二:flatten 方案三:kubectl 插件 konfig 实用工具:krew 实用工具:konfig 总结 开篇 磨刀不误砍柴工 工欲善其事必先利其器 K8S 集群规模,有的公司倾向于少量大规模 K8S 集群,也有的公司会倾向于大量小规模的 K8S 集群. 如果是第二种情况,是否有一个简单的 kubectl 命令来获取一个 kubeconfig 文件并将其合并到 ~/.kube/config 文件作为一个额外的上

  • jQuery 跨域访问解决原理案例详解

    浏览器端跨域访问一直是个问题,多数研发人员对待js的态度都是好了伤疤忘了疼,所以病发的时候,时不时地都要疼上一疼.记得很久以前使用iframe 加script domain 声明.yahoo js util 的方式解决二级域名跨域访问的问题. 时间过得好快,又被拉回js战场时, 跨域问题这个伤疤又开疼了.好在,有jQuery帮忙,跨域问题似乎没那么难缠了.这次也借此机会对跨域问题来给刨根问底,结合实际的开发项目,查阅了相关资料,算是解决了跨域问题...有必要记下来备忘, 跨域的安全限制都是指浏览

  • PyCharm License Activation激活码失效问题的解决方法(图文详解)

    自己的小Python项目好几天没有写了,今天打开PyCharm准备继续写,突然发现之前的激活码被取消不能用了,本来激情满满的准备干活啦!之前搜的这个激活码本来说的是可以用到18年1月份的呢,哎-心情是崩溃的-如下图所示: 在经过一顿搜索挣扎之后,笔者终于找到解决方法,血条瞬间满了,满血复活有没有,开开心心的开始敲代码: 解决方法是在下面的网站找到的,我只是个搬运工,来具体写一下步骤,解决一下网站中网友的问题,网址如下:http://idea.lanyus.com/ 很多网友提问说,用了这里的激活

  • postgresql高级应用之合并单元格的思路详解

    1.写在前面✍ 继上一篇postgresql高级应用之行转列&汇总求和之后想更进一步做点儿复杂的(圖表暫且不論哈

随机推荐