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.

===========================

Problem resolve “egit remote tracking show nothing”

有时候在用Team => Switch to => 时, 看不到想要的branch, 用如下方法解决.

https://stackoverflow.com/questions/47390703/how-do-i-get-a-new-branch-to-show-up-in-eclipse-git-remote-tracking?rq=1

How do I get a new branch to show up in Eclipse Git Remote Tracking?

I have an existing Eclipse git project, with a master and development branch present in both local, and remote tracking. I have just added a new branch in my git repository, but I can't figure out how to get it to show up in Eclipse.

I have tried to read up on the subject, but it seems like it is just expected to automatically show up. I have found a lot of similar questions, but they all seem to deal with the issues of a completely empty remote tracking folder, instead of my problem of only a single new branch missing. I already have Master and Develop present.

Here is what does not work:

  • Clicking refresh in the Git repositories window.
  • Any kind of synchronize, pull or other update I can find

Here is what would work:

  • Right clicking the remote tracking folder, and selecting "Paste repository path or URI". If I do that, and select the exact same path as is already there, I can see my new branch. This action does require that I completely clone the whole repository to an empty folder again, and that can't be how this is intended to work.
  • I believe it might work to use some kind of command line tool, but I really want an Eclipse solution to this, as I feel sure it exists, and I am just missing something.

20

In the Git Repositories view:

  1. Right-click the repository and choose Fetch from Upstream
  2. If the new branch will not shown up below Branches/Remote Tracking, you have to configure fetch:
    1. Right-click the fetch node below Remotes/origin and choose Configure Fetch...
    2. In the Configure Fetch make sure there is only the single Ref mapping +refs/heads/*:refs/remotes/origin/*:

God damnit, in my latest attempts, I
just confused two different repositories. So this really does work. Thanks a
lot! – KjetilNordin Nov
20 '17 at 11:56

add a comment

在执行了一次上面的fetch后,  在用Team => Switch to => 时, 可以看到了branch.

Eclipse的Git插件Egit: merge合并冲突具体解决方法的更多相关文章

  1. Egit的merge合并冲突具体解决方法

    稍微总结下弄了半个下午的egit的merge合并冲突解决方法,网上看的都是一个模板出来的,看的糊里糊涂,花了很多时间去实验整个合并流程.. 前提工作 创建一个普通JAVA工程Test,创建一个类Tes ...

  2. Eclipse上GIT插件EGIT使用手册

    http://blog.csdn.net/luckarecs/article/details/7427605 Eclipse上GIT插件EGIT使用手册   一_安装EGIT插件 http://dow ...

  3. Eclipse上GIT插件EGIT使用手册ᄃ

    Eclipse上GIT插件EGIT使用手册 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜 ...

  4. git pull的时候发生冲突的解决方法之“error: Your local changes to the following files would be overwritten by merge”

    今天在使用git pull 命令的时候发生了以下报错 目前git的报错提示已经相关友好了,可以直观的发现,这里可以通过commit的方式解决这个冲突问题,但还是想看看其他大佬是怎么解决这类问题的 在网 ...

  5. Eclipse上GIT插件EGIT使用

    一.安装EGit插件 參考:MyEclipse8.5整合Git 二.EGit配置 配置个人信息 Window > Preferences > Team > Git > Conf ...

  6. Eclipse上安装GIT插件EGit及使用

    一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32.zip(在Eclipse3.3版本找不到对应的 EGit插件,无法安装) E ...

  7. Eclipse上安装GIT插件EGit

    一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32.zip(在Eclipse3.3版本找不到对应的 EGit插件,无法安装) E ...

  8. 【转】Eclipse上安装GIT插件EGit及使用

    http://yufenfei.iteye.com/blog/1750124 一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32 ...

  9. 转:Eclipse上安装GIT插件EGit及使用

    一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32.zip(在Eclipse3.3版本找不到对应的 EGit插件,无法安装) E ...

随机推荐

  1. 在mpvue引入flyio

    先来说微信小程序原生的请求接口方式吧,如官网文档,在页面中请求直接调用 在这里感谢接的是提供的免费接口https://blog.csdn.net/c__chao/article/details/785 ...

  2. Python—解析HTML页面(HTMLParser)

    HTMLParser类的定义及常用方法 类的定义 HTMLParser主要是用来解析HTML文件(包括HTML中无效的标记). 参数convert_charrefs表示是否将所有的字符引用自动转化为U ...

  3. Linux Zookeeper 安装, 带视频

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 面试必备+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并发 ...

  4. Openshift 自建DDNS动态域名

    某种情况下如openstack或者openshift/kubernetes软件部署过程由于需要标准的 域名系统(DNS UPDATE)RFC 2136中的动态更新功能, 但是现有的阿里云/华为云均不提 ...

  5. 解决Entity 实体类中加了@Id 注解后仍然出现org.hibernate.AnnotationException: No identifier specified for entity 错误

    启动报错如下图所示: 解决方案: 查看网上的资料,大部分都说在实体类中没有添加加主键的注解@Id,这个是必须的.但是我的实体类中明明已经添加了@Id,为什么还会报这个错误呢? 后来检查了很久,发现是我 ...

  6. spinand之data buffer

    data buffer简介 spinand一般会有一个内置的data buffer. 以W25N01GV为例,一个page是2048bytes外加64bytes的spare数据,其data buffe ...

  7. CF977D Divide by three, multiply by two

    题目链接 我同学在旁边做者道题,我也看了一下 真的好水难 一看这道题,直接搜索 剪枝是不可能剪枝的一辈子不可能 Code #include <cstdio> #include <io ...

  8. C lang:Array and Pointer formal parameter

    Test Xx_Formal parameter Formal parameter are local variable. It's private to the function. Ax_Array ...

  9. Android 程序分析环境搭建-Android 9 -代码下载编译

    Android 9 -代码下载编译 一,翻墙下载: 1.背景: 背景: 现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework ...

  10. Python输出16进制不带0x补零,整数转16进制,字符串转16进制

    Python输出16进制不带0x补零,整数转16进制,字符串转16进制   在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多 ...