内容简介:使用 git 合并代码时出现冲突是很常见的,不过如何解冲突才能更加可靠呢?不漏掉别人的修改,也同时让自己的修改完全保留。本文将介绍利用各种工具更可靠地解决冲突。如果你使用 Visual Studio,那么当合并两个分支出现冲突的时候,Visual Studio 的 Team Explorer 会显示当前冲突的所有文件。
使用 git 合并代码时出现冲突是很常见的,不过如何解冲突才能更加可靠呢?不漏掉别人的修改,也同时让自己的修改完全保留。
本文将介绍利用各种 工具 更可靠地解决冲突。
使用 Visual Studio
如果你使用 Visual Studio,那么当合并两个分支出现冲突的时候,Visual Studio 的 Team Explorer 会显示当前冲突的所有文件。
▲ 图 1
当你点击其中一个文件的 Merge 按钮的时候,会显示这个文件的合并界面。
▲ 图 2
可以看到,上图中两边的差异非常大。左边的代码进行了某项不为人知的修改,而右边的这些代码都被删除了。如果采用左边,则右边删除移走的代码就会留存,形成两份相似的代码;如果采用右边,那么左边在另一个分支的修改就会丢失。
这时,可以 和基准进行比较 来查看两个分支相对于同样的基准提交的差异来手动解决冲突。
点击合并页面顶部工具栏中的选择比较源按钮,可以切换比较代码的双方。
你可以比较“源”和“目标”,这也是默认的比较。你还可以选择比较“源”和“基准”、“目标”和“基准”。这样,你可以分别查看两边代码相比于同一个基准提交的修改。
对于左边的修改,通过查看“源”与“基准”的不同,得知左边其实值修改了一行。那么这时,我们把这一行重新补充到右边删除移走的代码里面(被移到了另一个文件中,需要补充到那个文件中对应的地方),那么两边的修改才真正时等价合并了。
你可以在下图看到这两个不同选项的理解。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Hash冲突解决方法
- 依赖冲突时的解决方法
- git 通过 SublimeMerge 处理冲突
- RecyclerView 、ViewPager 左右滑动冲突
- 处理 WebView 与 ViewPager 滑动冲突
- Elasticsearch——并发冲突以及解决方案
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。