GIT分支代码合并以及分支部分提交代码合并

  • 前提
  • dev分支
  • master分支
  • 目标
  • 合并流程
  • 推送
  • 合并出现错误解决:回滚本地提交
  • 代码舍弃了不该舍弃的怎么办


入职新公司好几个月了比上一家公司忙很多,敏捷开发,快速迭代,类似996了,抽空摸摸鱼写一篇这几天在头疼的代码合并

前提

话不多说直接上流程图

idea合并test分支_git

这里看到我当前在dev分支中,dev分支提交了三次新代码一二三,master分支提交了三次新代码三冲突一二

dev分支

idea合并test分支_git_02

dev分支 新代码第三次提交实例

master分支

idea合并test分支_git_03

master分支 冲突代码第三次提交

目标

idea合并test分支_推送_04

我们需要的是dev分支中新代码第三次提交 和 master分支中冲突代码第三次提交
合并在master分支中 使用代码合并的方式

合并流程

idea合并test分支_idea合并test分支_05

1、切换到代码要被合并到的分支(目标)
2、点击git组件
3、git组件中log分栏
4、选中要被合并的分支提交(源)
5、点击Cherry-Pick(樱桃按钮)开始合并

idea合并test分支_经验分享_06


idea合并test分支_经验分享_07

解决完后就点击apply

idea合并test分支_经验分享_08

解决完后点击commit 然后IDEA会自动进行再次的合并

idea合并test分支_idea合并test分支_09


解决完成后


idea合并test分支_git_10

推送

idea合并test分支_idea合并test分支_11

点击推送

合并出现错误解决:回滚本地提交

idea合并test分支_idea合并test分支_12

当前提交右键 Undo Commit 解开当前提交

idea合并test分支_idea合并test分支_13

点击OK

idea合并test分支_intellij-idea_14

可以看到当前提交没有了 点击commit

idea合并test分支_idea合并test分支_15

点击Rollback就吧当前提交的代码舍弃
重复这几步就可以

代码舍弃了不该舍弃的怎么办

idea合并test分支_idea合并test分支_16

本地历史 查看历史

idea合并test分支_idea合并test分支_17

Revert Selection 恢复选择 代码就找回来了