IDEA 合并GIT分支

分支常见场景

当项目处于特殊状态,需要copy两份各自独立开发,比如即将发布一个新的版本时,通常会拆分两个分支:一个分支(如1.0分支)面向即将发布的版本,此分支主要修复bug,不再增加新的功能;另一个分支(如主分支master)面向下一个版本,继续开发新功能。

分支合并的意义

多个分支开发的过程中,有时某分支需要使用其它分支中更合理的代码,按照传统方式copy可能由于复制不完整或复制过多导致出现不确定的bug,此时使用分支合并是最佳的选择,分支合并简单省事,同时合并后可以确认变更,对于不需要的变更可以撤销合并。

使用分支合并功能解决问题

  1. 回到第一段的假设,主分支master分支开发了一些新功能,而1.0分支修复bug若干,此时主分支1.0分支需要master中的某个新功能代码,先来看看1.0分支中的某个工具类的代码:
/**
 * 线程工具类
 */
public class Threads {

    /**
     * 线程休眠
     *
     * @param millis 休眠时间
     */
    public static void sleep(long millis) {
        try {
            Thread.sleep(millis);
        } catch (InterruptedException e) {
            throw FrameException.of("线程睡眠被打断:" + e.getMessage(), e);
        }
    }
}
  1. 再来看看master主分支中增加了功能(其实只是更新了文档:"休眠时间,单位:毫秒")的代码
/**
 * 线程工具类
 */
public class Threads {

    /**
     * 线程休眠
     *
     * @param millis 休眠时间,单位:毫秒
     */
    public static void sleep(long millis) {
        try {
            Thread.sleep(millis);
        } catch (InterruptedException e) {
            throw FrameException.of("线程休眠被打断:" + e.getMessage(), e);
        }
    }
}

使用IDEA 的GIT分支合并功能

  • 切换到1.0分支(如果已是1.0分支可忽略)
  1. 切换到1.0分支 : 右击项目 -> 选择Git -> 选择仓库Repository -> 选择分支 Branches
  2. 在弹窗中操作 : 选择1.0分支 -> 选择切换分支 Checkout
  • 将主分支master合并到当前分支(1.0分支)

1.切换到1.0分支后再从主分支master上合并到当前1.0分支: 右击项目 -> 选择Git -> 选择仓库Repository -> 选择合并改变 Merge Changes

  1. 在弹窗中操:勾选主分支 master -> 勾选不提交 No commit
  2. 对照更新代码,确认是否有误:右下角版本控制选项卡Version Control -> 右击改变的文件 -> 选择显示差异 Show Diff
  3. 在弹出的窗口确认差异,如果有误则修改
  4. 合并后确认代码无误,并测试通过则可以提交合并后的代码到主分支master上

切换到1.0分支 操作图解

1.切换分支

1.1切换分支

将主分支master合并到当前分支 操作图解

2.合并分支.png

2.1合并分支.png

2.2合并分支.png

2.3合并分支.png

推荐阅读更多精彩内容