zoukankan      html  css  js  c++  java
  • android studio 中如何合并冲突(转)

    合并分支,解决冲突

    执行Git merge ,如果有冲突,就会出现如下格式:

    <<<<<<< HEAD
    这个位置的内容就是当前所在分支的内容
    =======
    这个位置的内容就是合并进来的分支的内容
    >>>>>>> branchName

    用下面的设置来改进冲突标记使其也显示(分支)共同祖先(感谢罗宾·斯托克和休·吉登斯): 
    git config --global merge.conflictstyle diff3

    设置显示共同祖先之前: 
    这里写图片描述

    设置了显示共同祖先之后: 
    这里写图片描述 
    ||||||| merged common ancestors下面的内容就是双方改动前的内容

    双方改动少的情况下,这种方式还是能一目了然的看到改动情况的,但是一旦冲突复杂了,就需要动用工具了,Android Studio就自带了解决冲突的工具,以下是操作步骤

    选中项目->右键->Git->Resolve Conflicts

    这里写图片描述

    会出现一个弹窗,显示了冲突的文件,选择某个文件后,点击Merge

    这里写图片描述

    会出现三个代码框

    这里写图片描述

    a、左边的Local Changes代表”当前“分支上的修改;
    b、右边的Changes from Server代表“合并进来”的分支上的修改;
    c、中间的Result代表经过处理后的最终内容;
    

    左上角有一排按钮,分别介绍一下作用

    这里写图片描述

    • 上下箭头:跳转到上(下)一个不同;
    • 这里写图片描述 这三个从左往右依次代表:比较左边和中间的内容,比较中间和右边的内容,比较左边和右边内容;
    • 这里写图片描述这三个从左往右依次代表:接受两边没有冲突的改变,接受左边没有冲突的改变,接受右边没有冲突的改变,什么叫没有冲突的改变待会儿会解释;
    • 现在回头看内容区域,会看到四种颜色 
      • 红色区域:代表当前分支和合并分支都编辑过的内容,属于冲突;
      • 蓝色区域:代表被单方面编辑过的内容,属于改变;
      • 灰色区域:代表被删除的内容,属于改变;
      • 绿色区域:代表新增的内容,属于改变;
    • 通过之前所述我们可以知道,真正需要解决的冲突只有红色区域,其他高亮区域只是为了让我们再次确认改变的内容是否合理,如果对自己的代码有信心,那就不用管那些区域了,c步骤中的三个按钮就派上用场了,你可以按照自己的需求接受改变的代码,通常可以直接接受两边没有冲突的改变:

    这里写图片描述

      • 接受后就变成上图了,现在我们需要解决冲突了,如果不记得自己的修改是什么,就可以关闭该工具,通过查找历史提交,比对历史代码来确认正确的代码;有的时候由于代码格式化的原因,你并没有改变代码的内容,但是格式化增加了一些空格,那么也会产生冲突,
  • 相关阅读:
    Chapter 6 GUI and OOD
    Chapter 5 : Control Structures 2 : Repetition
    Chapter 4 : Control Structures 1 : Selection
    Chapter 3 Introduction to Objects and Input/Output
    为什么很多应用都安装在/usr/local目录下?
    Chapter 2 Basic Elements of JAVA
    Chapter 1 An Overview of Computers and Programming Languages
    ZooKeeper Getting Started Guide
    The Apache HBase™ Reference Guide
    垃圾回收算法记录
  • 原文地址:https://www.cnblogs.com/xuecanmeng/p/6530073.html
Copyright © 2011-2022 走看看