基于Eclipse/EGit的代码合并冲突解决方法咨询
Eclipse+EGit合并冲突解决指南
冲突标记含义
Eclipse冲突编辑器里的颜色对应以下状态:
- 红色:你当前分支(
dev/55039)中修改的冲突代码段 - 蓝色:目标分支(
rel/7.1)中修改的冲突代码段 - 灰色:两边未改动的上下文代码,用于定位冲突位置
冲突解决目标
核心是整合两边的有效修改,确保代码逻辑正确、可编译,同时满足业务需求,不是简单复制某一边的代码:
- 如果两边修改了同一代码块的不同部分:合并成逻辑通顺的代码
- 如果两边修改了同一行/同一功能:和对应开发者确认需求后,保留正确版本或整合两者
- 最终状态:文件中无任何红/蓝冲突标记,代码可正常编译,功能符合预期
Eclipse+EGit实操步骤
- 执行Bitbucket提供的命令拉取目标分支代码:
git checkout dev/55039 git pull origin rel/7.1 - 打开Eclipse的Git Staging视图:
- Staged Changes:自动合并成功的文件,无需处理
- Unstaged Changes:存在冲突的文件(1-2个),需要手动处理
- 双击Unstaged中的冲突文件,打开冲突编辑器:
- 用编辑器顶部的快捷按钮快速处理:
Accept Left:保留当前分支的修改Accept Right:保留目标分支的修改Accept Both:按顺序合并两边的修改
- 也可以直接在编辑区手动修改,删除红/蓝标记,编写最终代码
- 用编辑器顶部的快捷按钮快速处理:
- 保存文件后,冲突文件会自动从Unstaged移到Staged(若未自动移动,手动拖拽)
- 提交Staged中的所有文件,完成合并操作,之后即可正常推送或更新PR
额外建议
- 拿不准的冲突直接找对应代码的开发者沟通,避免破坏逻辑
- 日常开发尽量小批量提交代码,减少冲突概率;提交前先拉取目标分支最新代码,提前解决潜在冲突
内容的提问来源于stack exchange,提问作者jstack100
相关产品推荐
相关产品推荐

