IDEA 合并GIT分支
2019-08-22 本文已影响0人
tianchaohongyu
分支常见场景
当项目处于特殊状态,需要copy两份各自独立开发,比如即将发布一个新的版本时,通常会拆分两个分支:一个分支(如1.0分支)面向即将发布的版本,此分支主要修复bug,不再增加新的功能;另一个分支(如主分支master)面向下一个版本,继续开发新功能。
分支合并的意义
多个分支开发的过程中,有时某分支需要使用其它分支中更合理的代码,按照传统方式copy可能由于复制不完整或复制过多导致出现不确定的bug,此时使用分支合并是最佳的选择,分支合并简单省事,同时合并后可以确认变更,对于不需要的变更可以撤销合并。
使用分支合并功能解决问题
- 回到第一段的假设,主分支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);
}
}
}
- 再来看看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.0分支 : 右击项目 -> 选择Git -> 选择仓库Repository -> 选择分支 Branches
- 在弹窗中操作 : 选择1.0分支 -> 选择切换分支 Checkout
- 将主分支master合并到当前分支(1.0分支)
1.切换到1.0分支后再从主分支master上合并到当前1.0分支: 右击项目 -> 选择Git -> 选择仓库Repository -> 选择合并改变 Merge Changes
- 在弹窗中操:勾选主分支 master -> 勾选不提交 No commit
- 对照更新代码,确认是否有误:右下角版本控制选项卡Version Control -> 右击改变的文件 -> 选择显示差异 Show Diff
- 在弹出的窗口确认差异,如果有误则修改
- 合并后确认代码无误,并测试通过则可以提交合并后的代码到主分支master上
切换到1.0分支 操作图解
![](https://img.haomeiwen.com/i13452288/d913018ac77994e2.png)
![](https://img.haomeiwen.com/i13452288/eaeebbebbb3c1b2b.png)
将主分支master合并到当前分支 操作图解
![](https://img.haomeiwen.com/i13452288/63d5ad5bc6810aab.png)
![](https://img.haomeiwen.com/i13452288/dab89423ce9a7b72.png)
![](https://img.haomeiwen.com/i13452288/1f5aa08413902924.png)
![](https://img.haomeiwen.com/i13452288/e8ab4529285c563e.png)