1 我从eclipse里面新建一个workspace
2 新建一个分支
3 再新建另外一个分支
4 回到原分支, 修改某一行,比如a.txt的85行
5 提交git add commit
6 切换到新分支
7 修改a.txt的85行(同一个文件同一行)
8 提交git add commit
9 切换到第一个分支
10 git merge 新分支
git bash提示merge conflict 然后eclipse自动显示冲突的车祸现场 然后修改之后 然后提交 就没有冲突了 然后提交git add commit
然后本分支就正常了并且merge成功, 
11 切换到第二个分支, 发现第二个分支任然是以前的样子 merge abc对abc是没有影响的 但对当前分支有影响.
---------------

<<<<<<< HEAD
border:1px solid red;
background-color:Red;
=======
border:1px solid yellow;
background-color:yellow;
border-radius:5px;
>>>>>>> abc

这里面就有HEAD=当前分支
abc代表被比较的分支

----

有一个比较关键的一点就是, 当一个分支合并另一个分支之后, git add commit之后, 如果再次的merge另一个分支, 就不会有conflict,就是这么神奇啊。
因为conflict process把两边的文件有冲突的地方放到了同一个地方, 并且用特殊的符号包围起来,无形之中吧同一行的东西抵消掉了,就没有冲突了

什么情况下会有冲突呢,就是同一个行同一个文件都发生了改变且变化不同,于是产生了冲突, 
比如,我现在分支a文件b的第三行发生改变, 此时如果其他分支不发生变化的话,那merge是成功的,
但如果分支a文件b不发生改变, 但其他分支的文件b某一行发生了改变,那merge就会提示进入message的界面, 按wq!退出.

<<<<<<< HEAD
background-color:redddd;
=======
background-color:yellow;
>>>>>>> abc

所以conflict的定义是:当merge方和被merge方在同一行发生了改变, 且改变不同的时候才会冲突,如果改变是一样的呢,那冲突是没有的。比如上图,如果background-color的颜色都一样,那就是没有冲突的。

eclipse 下的 merge 是如何实现的的更多相关文章

  1. Eclipse下配置javaweb项目快速部署到tomcat

    用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...

  2. Eclipse下还原删除的文件

    做项目的时候,不小心把Eclipse下的么个文件删除了,虽然有svn但是最新修改的代码没有提交,怎么办,在网上查了下,eclipse是可以还原删除文件的.具体做法如下所示 恢复删除的文件 1 在项目上 ...

  3. eclipse下maven项目保持原有目录结构配置resin运行环境

    maven项目用起来很方便,但是它的目录结构和eclipse的目录结构是有区别的,故而在eclipse下的maven项目,直接运行调试是有一些问题的. 为了方便maven项目的运行调试,因而也就有了像 ...

  4. 将Linux下的Android签名对pk8和pem转换为Eclipse下的签名(keystore)

    一 在github上下载工具 https://github.com/getfatday/keytool-importkeypair 二 将工具在Linux环境下解压或者解压后Copy到Linux下,运 ...

  5. 在Eclipse下搭建Android开发环境教程

    我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...

  6. eclipse下项目死活不编译

    工作中我们可能会遇到这种问题,项目在Eclipse下就是不编译,无论项目clean,重新build项目,重启eclipse,重启电脑都不好使.... 这时候我们可以把项目的jdk删掉,重新add一下, ...

  7. 【转】Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.

    转载地址:http://blog.csdn.net/jnqqls/article/details/8946964 1.错误: 在Eclipse下启动tomcat的时候,报错为:Eclipse下启动to ...

  8. Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目

    Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目 新建一个maven工程,这里不赘述如何新建maven工程. 添加Neo4j jar到你的工程 有两种方 ...

  9. Eclipse下的Maven

    本文转载自:http://www.cnblogs.com/zlslch/p/5882567.html 当我们无法从本地仓库找到需要的构件的时候,就会从远程仓库下载构件至本地仓库.一般地,对于每个人来说 ...

随机推荐

  1. Selenium Grid 简易安装

    转载自:http://blog.csdn.net/xifeijian/article/details/17057659

  2. spring注入参数详解

    spring注入参数详解 在Spring配置文件中, 用户不但可以将String, int等字面值注入到Bean中, 还可以将集合, Map等类型的数据注入到Bean中, 此外还可以注入配置文件中定义 ...

  3. 《将博客搬至CSDN》的文章,

    <将博客搬至CSDN>的文章,并将文章地址填写在上方的"搬家通知博文地址"中.)

  4. assert函数

    这个函数在<cassert>里面,通常用来调试程序. eg: int i=1: assert(i==1):/什么也不做 assert(i==2)://程序会异常退出

  5. 达人眼中的WINCE网络驱动

    实际上在WinCE上开发网络驱动,比如设计一个NIC驱动, 大多数情况,是从XP移植NDIS Miniport驱动(小端口驱动)到WinCE.什么是ndis?Ndis做什么用的? 什么是minipor ...

  6. 当插入数据失败时,防止mysql自增长字段的自增长的方法

    问题描述: 当mysql设置了自增长字段时(注意:一个表中只能设置一个自增长字段,可以不是主键,但必须是键 ),如果插入数据失败,那么自增长字段仍然会占用这个自增长值,再次成功插入数据时就会造成断层. ...

  7. Django.template框架 template context (非常详细)

    前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的 这会导致几个问题: 1,显然,任何页面的改动会牵扯到Python代码的改动 网站的设计改动会比Python代码改 ...

  8. CentOS系统下各文件夹的作用

    linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的 ...

  9. ubuntu安装miniconda

    系统:ubuntu15.04   64位 wget -c http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh chm ...

  10. C# 十进制与十六进制互转

    1.从十六进制转换为十进制 /// <summary> /// 十六进制转换到十进制 /// </summary> /// <param name="hex&q ...