如何解决gerrit merge冲突问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决gerrit merge冲突问题相关的知识,希望对你有一定的参考价值。
参考技术A 1.Gerrit里点击“publish and submit”提示如下: Gerrit Code Review 10:57 AM Your change could not be merged due to a path conflict. Please ...Eclipse的Git插件Egit: merge合并冲突具体解决方法
http://www.cnblogs.com/wavky/p/3504060.html
稍微总结下弄了半个下午的egit的merge合并冲突解决方法,网上看的都是一个模板出来的,看的糊里糊涂,花了很多时间去实验整个合并流程..
前提工作
- 创建一个普通JAVA工程Test,创建一个类Test,写点东西并加入到本地git库;
- 创建个develop分支,创建个Develop类,修改Test类的某些语句,添加新代码段,提交;
- 切换到master分支,创建个Master类,修改Test类的同一部分语句,提交;
以上三条操作不进行详细说明,很简单的。
合并过程
打开git repository exploring视图:
在Test库中,在develop分支上打开右键菜单,点击Merge:
出现冲突提示框:
返回JAVA工程项目视图,可以看见Test工程已经自动进行了部分合并,添加了Develop类,但Test类存在冲突(有红色双箭头标记的文件才是冲突,茶色星星标记的文件没有实际冲突项),选中工程打开右键菜单,打开Merge Tool:
Merge Tool界面显示如下,左边为冲突文件的当前版本(master分支),右边为准备合并过来的目标版本(develop分支),手工把右边的代码copy到左边,或至少随意更改下左边的文件,保存。 注:右边的窗口有时候标题显示的版本节点不正确,可能是BUG,或者笔主理解能力不足所致。
在Merge Tool中更改并保存后,当前冲突的Test类如下图中的各种神奇标记符号将自动消除:
上图的红色神奇符号已经自动合并消除,并呈现类似下图的合并效果:
Window->Show View->Other,打开Git Staging视图:
Git Staging视图中,Unstaged Changes部分包含冲突文件(包括手工合并前后),Staged Changes部分包含已经完成自动合并的文件,在已经合并完成的冲突文件Test.java上打开右键菜单,选中Add to Git Index:
Test.java被添加到Staged Changes下面,并自动生成Commit Message等内容,确认无误后点击Commit提交:
至此,Merge合并的冲突已经完全解决,从develop到master方向的合并已经完成:
若要从master合并到develop,只需切换到develop分支,(在git repository exploring视图中)在master菜单上点击Merge即可。笔主使用的Egit2.2版本默认进行Fast-Forward方式的合并,最新的3.2版已经提供是否选择Fast-Forward的UI窗口。
* 关于Egit3.2的Fast-Forward合并:提供该选择的UI窗口仅在JAVA视图窗口中,通过项目工程右键菜单中执行Team->Merge触发显示,通过上面使用git repository exploring视图简单调用Merge的方式仍然使用默认的Fast-Forward合并:
==============================================
https://allaboutmynonexistedworld.wordpress.com/2014/02/05/eclipse-git-merging-branch-to-master/
1. Make sure the current pointer is at master.
2. Right click on the project to be merged. Select Team -> Merge
3. In the pop up window, double click on the branch you want to merge.
4. A merge conflict window should jump up. Click OK to continue
5. Right click on the project with a red mark. Select Team -> Merge Tool
6. In “Select a Merge Mode” window, select Use HEAD option and hit OK
7. Edit it in the editor however you want (play around with the options)
8. Once you decided the conflict is resolved, right click on the red mark file, select Team -> Add to Index
9. Finally, you should be able to commit the changes and push to the upstream.
以上是关于如何解决gerrit merge冲突问题的主要内容,如果未能解决你的问题,请参考以下文章