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步骤中的三个按钮就派上用场了,你可以按照自己的需求接受改变的代码,通常可以直接接受两边没有冲突的改变:
- 接受后就变成上图了,现在我们需要解决冲突了,如果不记得自己的修改是什么,就可以关闭该工具,通过查找历史提交,比对历史代码来确认正确的代码;有的时候由于代码格式化的原因,你并没有改变代码的内容,但是格式化增加了一些空格,那么也会产生冲突,
android studio 中如何合并冲突(转)的更多相关文章
- Android Studio中有用的快捷键栏
Android Studio中有用的快捷键栏#1 Ahraewi线移动 Alt + Shift +向上/向下❖Alt + Shift +向上/向下 或上下移动在所选位置的行. 删除行 CMD + B ...
- 在Android Studio中进行单元测试和UI测试
本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...
- 浅谈Windows下SVN在Android Studio中的配置、基本使用及解除关联
看到网上很多关于svn环境配置和关联Android-Studio的很多博文,发现很零散,想集大家所长整理一下: 在AndroidStudio中开发版本控制中,除了Git就是SVN,和Eclipse不同 ...
- android studio 中移除module和恢复module
一.移除Android Studio中module 在Android Studio中想要删除某个module时,在Android Studio中选中module,右键发现没有delete,如图: An ...
- Android Studio中Button等控件的Text中字符串默认大写的解决方法
初学Android的时候,在Android Studio中xml里面添加一个Button.EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是 ...
- .Net程序员之不学Java做安卓开发:Android Studio中的即时调试窗口
对学.Net的人来说,JAVA开发是一场噩梦. .net中的即时窗口,调试时直接在里面写代码,对程序中的各种方法/属性进行调用,很方便. Android Studio中找了好久,参考如下网址,也有类似 ...
- 如何将Eclipse中的项目迁移到Android Studio 中
如何将Eclipse中的项目迁移到Android Studio 中 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的 ...
- Android开发的小技巧,在Android Studio中使用Designtime Layout Attributes
在编写xml文件时,为了预览效果,经常会使用默认填上一些内容,比如TextView时,随便写上一个text <TextView ... android:text="Name:" ...
- 在android studio 中使用applicationid的问题
现在我需要对项目app的某个功能做性能测试,主要测试耗电量的多少. 1.我想到的方式是,我需要在同一台手机测试,同一个应用,需要安装在手机两次,第二次安装不覆盖第一次的安装. 在android stu ...
随机推荐
- mac安装Redis可视化工具-Redis Desktop Manager
Redis是一个超精简的基于内存的键值对数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库.不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起 ...
- 教你如何让数据库支持emoji表情符存储
From: http://www.cnblogs.com/janehoo/archive/2016/04/06/5359800.html 一.教你如何让数据库支持emoji表情符存储 解决方式:更换字 ...
- there was an error running the selected code generator unable to retrieve metadata for
there was an error running the selected code generator unable to retrieve metadata for PROBLEM: I ha ...
- mpvue 未找到入口 app.json 文件
# 1. 先检查下 Node.js 是否安装成功 $ node -v v8.9.0 $ npm -v 5.6.0 到项目的目录 $ npm install $ npm run dev
- js多个(N)个数组的的元素组合排序算法,多维数组的排列组合或多个数组之间的排列组合
现在有一批手机,其中颜色有['白色','黑色','金色','粉红色']:内存大小有['16G','32G','64G','128G'],版本有['移动','联通','电信'],要求写一个算法,实现[[ ...
- Window通过Web方式修改域用户密码
如何通过web方式修改域用户密码: 1.在Windows Server 2003上,系统默认提供了iisadmpwd作为一种修改域用户密码的方式 2.在Windows Server 2008上,可以提 ...
- Unity导入fbx格式的模型
1. 在Model文件夹右击,选择 import new Asset,然后选择要导入的模型 2. 将纹理图片导入Pictures中 3. 在Materials中创建一个Material,然后点击属性中 ...
- Linux下的at定时执行任务命令详解
之前说了使用crontab实现定时执行任务,假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了.一.at服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下 ...
- Spring Security默认的用户登录表单 页面源代码
Spring Security默认的用户登录表单 页面源代码 <html><head><title>Login Page</title></hea ...
- JAVA课程课后作业03之作业一
作业:使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 代码: package TestJava; import java ...