前言
demo:
工作前,master分支有文件A。
工作开始时,拉取新分支work,文件和master相同,只有A。
工作开始后,work分支新增文件B,master分支新增文件C。两个分支中A文件的修改情况不确定。
如何规范地合并work到master?
解决
如果两个分支都修改了A,那么merge必定发生冲突,合并流程如下:
方法1:
# 从work分支切换到master
git checkout master
# 获取最新代码
git pull
# 切换到本地分支work
git checkout work
# 将master合并到work中
git merge master
# 这时会报哪些文件产生冲突,进行解决
# 解决完成之后再次将master合并到work中
git merge master
## 如果是公司代码平台进行线上合并到master,直接将work分支 push到远端,再将其合并到master
## 下面是手动合并过程
# 切换到master
git checkout master
# 将work合并到master中
git merge work
# 将master push到远端
git push
如果只有一个分支修改了A,那么不存在冲突,最简单的合并方式是
方法2:
## 如果是公司代码平台进行线上合并到master,直接将work分支 push到远端,再将其合并到master
## 下面是手动合并过程
# 切换到master分支
git checkout master
# 将work合并到master中
git merge work
# 将master push到远端
git push
这样是不会报错的,但是会存在很多规范隐患,比如master和work增加的文件是功能相似的工具类,这样合并之后master就会增加很多冗余代码。
所以最好仍采用方法1,保证合并的规范性。