在 VS Code 中解决代码冲突的两种方法
常在河边走,哪有不湿鞋。天天写代码,必定遭遇 Git 合并冲突。
遇到冲突不用慌,VS Code 来帮忙。
VS Code 默认会在一个视图中使用不同颜色标识冲突区域。绿色表示当前分支(Current Change)的代码,蓝色表示其他分支(Incoming Change)的代码。
如果你想保留当前分支的代码,可以点击【Accept Current Change】按钮。
如果想保留其他分支的代码,点击【Accept Incoming Change】按钮。
如果想同时保留两个分支的改动,点击【Accept Both Changes】按钮。
点击【Compare Changes】按钮,可以在并排视图中比较代码。注意,对比视图是只读的,只可远观,不可亵玩。
如果代码冲突数量很多,使用默认视图修改不够方便。如果你仔细看,会在右下角发现一个【Resolve in Merge Editor】按钮。点击它,会打开 VS Code 的三向合并编辑器(3-way merge editor),这是 2022 年 6 月发布的 VS Code v1.69 的新增特性。
三向合并编辑器的布局如下所示,左上角是其他分支的改动,右上角是当前分支的改动,下方是合并结果。
点击【Accept Current】按钮选择当前分支的改动。
如果你反悔了,点击【Remove Current】按钮撤销当前分支的改动。
其他分支的改动操作类似,不再赘述。
合并编辑器有一个剩余冲突计数器,点击它可以跳转到下一个冲突位置。如果你的代码文件很长,这个功能很方便。随着冲突的解决,它的数字会越来越少,当数字变成 0 时,就不能跳转了。
全部代码冲突解决完成后,点击【Complete Merge】按钮。
此时,编辑器 Git 面板会显示一个【Continue】按钮和一个文本输入框。点击后,便会将刚才的代码合并提交至仓库。