Android Studio、Git 解决合并冲突
2023-09-27 14:27:49 时间
合并分支,解决冲突
Android Studio自带了解决冲突的工具,以下是操作步骤
选中项目->右键->Git->Resolve Conflicts
会出现一个弹窗,显示了冲突的文件,选择某个文件后,点击Merge
会出现三个代码框
a、左边的Local Changes代表”当前“分支上的修改;
b、右边的Changes from Server代表“合并进来”的分支上的修改;
c、中间的Result代表经过处理后的最终内容;
左上角有一排按钮,分别介绍一下作用
- 上下箭头:跳转到上(下)一个不同;
这三个从左往右依次代表:比较左边和中间的内容,比较中间和右边的内容,比较左边和右边内容;
这三个从左往右依次代表:接受两边没有冲突的改变,接受左边没有冲突的改变,接受右边没有冲突的改变,什么叫没有冲突的改变待会儿会解释;
- 现在回头看内容区域,会看到四种颜色
- 红色区域:代表当前分支和合并分支都编辑过的内容,属于冲突;
- 蓝色区域:代表被单方面编辑过的内容,属于改变;
- 灰色区域:代表被删除的内容,属于改变;
- 绿色区域:代表新增的内容,属于改变;
- 通过之前所述我们可以知道,真正需要解决的冲突只有红色区域,其他高亮区域只是为了让我们再次确认改变的内容是否合理,如果对自己的代码有信心,那就不用管那些区域了,c步骤中的三个按钮就派上用场了,你可以按照自己的需求接受改变的代码,通常可以直接接受两边没有冲突的改变:
- 接受后就变成上图了,现在我们需要解决冲突了,如果不记得自己的修改是什么,就可以关闭该工具,通过查找历史提交,比对历史代码来确认正确的代码;有的时候由于代码格式化的原因,你并没有改变代码的内容,但是格式化增加了一些空格,那么也会产生冲突。
以下是不用工具的情况
执行git merge ,如果有冲突,就会出现如下格式:
<<<<<<< HEAD
这个位置的内容就是当前所在分支的内容
=======
这个位置的内容就是合并进来的分支的内容
>>>>>>> branchName
用下面的设置来改进冲突标记使其也显示(分支)共同祖先(感谢罗宾·斯托克和休·吉登斯): git config --global merge.conflictstyle diff3
设置显示共同祖先之前:
设置了显示共同祖先之后:
||||||| merged common ancestors下面的内容就是双方改动前的内容
相关文章
- Android推送技术解析,满满干货指导
- android内存管理,安卓Apk安装过程,架构师必备技能
- 模拟器 Android Studio
- 【Android】Android内存机制,了解Android堆和栈
- Android Studio常用快捷键
- Android Studio导入项目一直在下载gradle
- ERROR: This version of Android Studio cannot open this project, please retry with Android Studio 3.
- Android DataStore Proto框架存储接入AndroidStudio教程详解与使用
- 【重要!】Android Studio 必须要设置的一个东西。不设置就有可能乱码
- 常用的android studio 的快捷键设置和代码块缩写
- Android studio忽略大小写
- Android中以粗暴的方式替换全局字体
- 【Android TV 开发】安卓电视调试 ( 开启网络远程调试 )
- 【错误记录】Android 可执行权限报错 ( Cannot run program “/data/user/0/cn.e/ffmpeg“: error=13,Permission denied )
- 【Android 组件化】路由组件 ( 使用 JavaPoet 生成路由表类 )
- Android生成带图片的二维码
- 在android studio中新建android gradle project的时候connect refused:connect或者卡在building project...或Refreshing
- Android Studio 小技巧合集
- 高效 | 几个Android Studio 小技巧
- Android用GridView排列相册,实现微信选择图片效果
- Android功能总结:仿照Launcher的Workspace实现左右滑动切换