Eclipse中Egit冲突解决

Git 作为进来最流行的分布式版本控制软件来说应用的十分广泛。EGit就是一款Eclipse上的Git插件。在使用Egit提交项目时,有时会产生冲突,需要对代码进行merge。这里对内容冲突的解决进行介绍。

内容冲突是指两个用户修改了同一个文件的同一块区域,git会报告内容冲突。

1. 产生内容冲突

我们原始文件内容如下所示:

有两个项目组同时对其进行修改:

1) GordonCoder将第三行中“System.out.println();”修改为“System.out.println(“Hello, GordonCoder”);”

2)Jiangpeizhao将第三行中“System.out.println();”修改为“System.out.println(“Hello, Jiangpeizhao”);”,

GordonCoder修改完文件后commit 并push,之后Jiangpeizhao进行修改并准备提交。

2. 提交修改

在项目上右击选择Team-Commit,在弹出对话框中填写“Commit message”并勾选需要提交的文件,点击“Commit and Push”。如果没有发生冲突,则提交正常;如果有冲突,则会填出下面的对话框“master:master[rejected – non-fast-foward]”:

此时在项目上右击选择Team-Synchronize Workspace

此时Eclipse界面如下,会跳到Team视图:

项目文件夹右侧有“↑1”和“↓1”,说明有一个未push的修改和一个未pull的修改。打开下面的History窗口,可以看到最上面的两条修改,一个由Jiangpeizhao提交,一个由Gordon提交。

此时产生冲突。

3. 解决冲突

首先,将修改从远程pull到本地,点击下图的小按钮:

点击后如下图所示:

其中”<<<<<<< HEAD”、”=======”、“>>>>>>> branch 'master' ofhttps://git.oschina.net/Jpz/SpringDemo2.git”直接的就是双方的修改。

右击项目,选择”merge tool”:

如果”merge tool”是灰色的,如下图所示:

那么可能是由于没有在本地进行Commit或者没有进行pull。

点击”merge tool”后弹出:

注意现在文件图标下的红箭头,这是冲突的标志。如果没有弹出这个对话框,那是因为Git设置的问题。选择Window-preference:

在弹出对话框中找到Team-Git,将Merge tool context设置为第一个选项”Prompt when starting tool”,点击OK:

在下面填出的对话框中

选择第二个选项,之后如下所示:

手动来解决冲突,在本例中将这一行改为“System.out.println(“Hello, everyone”);”修改完后保持(ctrl+s,呵呵)。

右击项目,选择”Add to git index”:

注意此时图标的变化。

4. 合并merge

右击项目,选择”Commit…”提交至本地,此时的提交便是合并:

弹出窗口如下:

点击“Commit”。如果是只有一个冲突,此时也可以直接点击“Commit and Push”

点击“Commit”后如下所示,注意箭头数:

此时解决一个冲突,如果冲突多,需要继续处理,就继续按以上步骤来。解决完后,点击”Push”:

最后如下所示:

点OK即可。

5. 查看history:
在java界视图,右击项目选择“team-show in history”,如下所示:

可以查看history:

关于Egit的其他操作课参考:

http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html

http://wiki.eclipse.org/EGit/User_Guide

Eclipse中Egit冲突解决相关推荐

  1. eclipse中svn冲突解决

    最近在和同事做项目的时候出现了冲突,冲突解决方法是这样的: 右键项目 -> Team -> 与资源库同步 2.在同步视图中选择Conflicts Mode,以便首先查看解决冲突 3.双击需 ...

  2. 解决eclipse中egit中的cannot open git-upload-pack问题

    2019独角兽企业重金招聘Python工程师标准>>> 分析原因:eclipse中egit插件问题 解决方案:windows----preferences----user setti ...

  3. eclipse中egit插件使用

    2019独角兽企业重金招聘Python工程师标准>>> 这篇文章当时制作有点粗糙,建议阅读升级版:eclipse中egit插件使用--升级版 使用git作为项目的代码管理工具现在是越 ...

  4. Java 8中HashMap冲突解决

    Java 8中HashMap冲突解决 目录(?)[+] 在Java 8 之前,HashMap和其他基于map的类都是通过链地址法解决冲突,它们使用单向链表来存储相同索引值的元素.在最坏的情况下,这种方 ...

  5. 【转】eclipse中egit插件使用

    原文网址:http://my.oschina.net/songxinqiang/blog/192567 eclipse和git这个两个工具的使用人数都是相当多的,在eclipse里面也有egit插件来 ...

  6. 解决eclipse中热键冲突问题,ctrl+alt+up,向上复制与桌面旋转热键冲突。

    win7系统中,使用ctrl+alt+up会使桌面图形旋转180度,解决办法是首先修改图形选项中的快捷键设置,然后禁用.(ps:如果直接禁用图形选项中的快捷键,虽然使用该快捷键的时候,图形不在旋转,但 ...

  7. 团队开发中Git冲突解决

    正常来说我们团队协作开发过程中,冲突是常有的事,下面介绍下本人在开发中的解决办法. 冲突的主要原因就是由于我们开发人员在分支的同一位置写入了不一样的代码,然后合并到主干上导致我们冲突. 方法: 当冲突 ...

  8. 项目管理过程中六种冲突解决方法

    整理自信管网.希赛网以及网上摘录. 博客:https://www.zenwu.site/post/e1bc.html 冲突的解决方法,不管冲突对项目的影响是正面的还是负面的,项目经理都有责任处理它,以 ...

  9. git在idea中的冲突解决(非常重要)

    1.什么是冲突 冲突是指当你在提交或者更新代码时被合并的文件与当前文件不一致.读起来有点绕,结合下面的案例理解. 从上面对冲突的定义来看,冲突时发生在同一个文件上的. 2.生产上冲突的场景 常见冲突的 ...

最新文章

  1. java cmd copy_将CMD输出复制到剪贴板
  2. 17福师《计算机应用基础,17春福师《计算机应用基础》在线作业一.doc
  3. linux下载哪个python版本-Linux下切换Python版本的几种方法
  4. unity集成openinstall流程
  5. 利用 51 定时器生成 PWM
  6. python3精要(21)-函数(2)
  7. 阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义
  8. java.util.concurrent包
  9. Oracle 安装时候的fs.aio-max-nr参数
  10. 【原】获取数据库(SQL SERVER 2005)的所有信息 Get all database information from SQL Server 2005 测试通过...
  11. c语言两个线程交替打印奇数和偶数,经典面试题——两个线程交替打印奇数和偶数...
  12. Cookie、Session、Token、JWT区别与联系
  13. ZeroMQ实例-使用ZMQ(ZeroMQ)进行局域网内网络通信
  14. inno setup相关 (二)
  15. OCR身份证识别简单算法流程
  16. vs2017 脚本错误,当前页面的脚本发生错误
  17. linux高性能服务器编程PDF源代码下载
  18. 打出“人工智能+物流”牌,旷视就能重拾资本信任?
  19. 手机号登录和微信登录
  20. Linux 网络编程socket错误分析

热门文章

  1. Spring 控制反转和依赖注入
  2. 想不出深度学习创新点?让AI七剑客来帮你吧
  3. 【前端实例代码】使用 HTML 和 CSS 如何实现惊人的透明登录框页面毛玻璃效果| 前端开发 网页制作 基础入门教程
  4. 四个很短的故事,受用一生
  5. 2021年塔式起重机司机考试总结及塔式起重机司机作业考试题库
  6. 【2021最新版】MyBatis面试题总结(38道题含答案解析)
  7. 30组常用前端开发组件库,前端组件收集整理列表
  8. oracle函数-pivot函数
  9. Python 字符串 join 方法
  10. Java冒泡排序实现(详情)