[git] 合并(merge)和变基(rebase)的理解(区别和优缺点)

背景

节点P引申出两条分支,分别为分支A和分支B
分支A和分支B的关系是部分相同,部分不同;

合并(merge)

顾名思义,分支A和分支B是从节点P分叉出来的,合并之后分支A和分支B会在一个新的节点后会和;假设合并的这个节点是D

变基(rebase)

变基涉及两个名词,一个是分支(branch),一个是上游(up stream);

一开始我对变基的理解是:把分支A中所有节点(除节点PP之前的节点)加在分支B上面;看起来就像是从节点P开始,先开发了分支B,然后在分支B的基础上开发了分支A;
如此一来,分支A和分支B的关系变成了分支A包含了分支B;
这种情况下的分支B叫上游(up stream);

后来我对变基的理解变成了:从节点P开始,把分支A中各个节点按提交的顺序加在分支B的上面;因为一个节点对应一次内容改变,所以分支A中不想要的改变可以在变基的过程中跳过相应的节点;

区别与优缺点

在较大的工程中,变基一般都会出现冲突,这个时候需要在冲突的地方进行仲裁:

  1. 决定采用分支A的写法;
  2. 决定采用分支B的写法;
  3. 兼容两边的写法;

上述3个方法中,除了方法1不会改变分支A的内容,后两种方法会对分支A进行改变;就是说变基后的分支A变化了,跟变基前的分支会不一样;

所以如果变基失败了,分支A也就废了,因此在变基之前先对分支A做一次备份;

而合并的时候发生冲突,仲裁后两条分支都不会发生改变,既是说不会无论是分支A和分支B都会保留节点D之前的内容;但在复杂的工程中,随意的合并分支,个人觉得会显得分支比较杂乱;

随着移动互联网的发展,越来越多的网站和应用程序选择开发手机端H5页面以适应市场需求。但是开发手机端H5页面在不同的手机浏览器上会出现不同的问题,例如页面不兼容、加载速度慢等等。因此,我们需要使用Chrome浏览器来调试手机端H5页面。 首先,我们需要在chrome浏览器上安装“谷歌chrome浏览器开发者工具”,然后在手机端打开该页面,并且把手机的USB数据线连接在电脑上,然后在chrome浏览器上打开手机页面的调试界面,进行页面调试工作。 在调试界面里,我们可以通过“Elements”(元素)选项卡来检查页面源代码,查找页面中的元素标签、样式以及JavaScript代码等等。 在“Network”(网络)选项卡中,我们可以查看手机页面上所有请求和响应的详细信息,包括请求头、响应头、请求时间、响应时间等等。同时,我们还可以模拟缓慢的网络环境来测试页面的加载时间和响应时间。 在“Console”(控制台)选项卡中,我们可以使用JavaScript控制台来检查JavaScript代码的执行情况,编写JavaScript代码以及调试JavaScript代码等等。在控制台中,我们可以使用console.log()来输出信息,简单的代码调试问题基本可以在控制台中解决。 总之,chrome浏览器调试手机端H5页面是非常重要的。通过chrome浏览器的开发者工具,我们可以方便地检查和调试页面的源代码、网络请求、JavaScript代码以及其他相关内容,从而解决页面的兼容性、加载速度等问题。使用这些工具可以大大提高我们的开发效率,减少开发中的问题,保证H5页面的质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值