首先要git pull 拉取线上的代码,但是有冲突肯定会报错,然后我们在合并主分支git merge master合并之后我们使用git status -uno查看一下状态:
有三种状态,已经commited的,还有就是Unmerged path路径下的文件,就是我们需要手动合并的,没有冲突的会Auto-Mergeing(自动合并)。
我们手动合并Unmerged path下的两个文件:
$ vim LocationController.JAVA
$ vim SysService.java
打开文件后会发现,代码中会被<<<<<<< 、=======、>>>>>>>包围,这是冲突标记:冲突标记<<<<<<< 与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。
修改完两个文件后分别将文件git add添加到暂存区
$ git add LocationController.java
$ git add SysService.java
然后统一git commit将修改合并的文件添加到工作区:
$ git commit -m "conflictJava"
再用git status -uno查看文件状态
发现Unmerged path文件已经没有了,我们直接git push提交到远程仓库:
$ git push origin master
IDEA界面操作
在拉取仓库代码时,出现冲突了。
出现两个单选框
1.选择Merge 的话就是合并冲突
2.选择Rebase 的话就是 选择当前修改
选择Merge 之后
,点击ok
出现以下弹出框:
一般我们选择手动合并Merge
点击Merge
将需要的
内容点击:">>"
既可以合并内容到result中,不需要的
内容点击“x”
即可,合并完成后点击apply即可。
值得注意的是,最将所有的“x >>”符号都要处理完
,不需要的点击“x”,需要的点击“>>”
手动合并
后的文件内容如下