VSCode通过三段式标记(>)直观标识冲突,提供“Accept Current/Incoming/Both”按钮一键处理,并需保存、暂存、提交三步完成解决;预防重在勤pull、早push、明分工。

vscode 内置的 git 支持让解决冲突变得直观,但刚接触时容易卡在“看到红色波浪线却不知从哪下手”。关键不是跳过冲突,而是理解 VSCode 如何标记、对比和合并——它把底层 git merge 的过程图形化了,只要理清界面元素对应什么操作,基本能自己搞定。
识别冲突块:看懂编辑器里的三段式标记
当拉取或合并出现冲突时,VSCode 会在文件中用特殊分隔符标出冲突区域:
- 开始,到 ======= 之前:当前分支(比如 main)的代码
- ======= 到 >>>>>
之前:要合并进来的分支(比如 feature/login)的代码 - VSCode 同时在行号旁显示 ◀(当前)和 ▶(传入),鼠标悬停还能快速预览两边内容
用内置合并编辑器一键处理(推荐新手)
点击编辑器顶部弹出的 “Accept Current Change” / “Accept Incoming Change” / “Accept Both Changes” 按钮,是最安全的起步方式:
- 点 Accept Current Change:保留你本地的版本,丢弃对方改动
- 点 Accept Incoming Change:采用对方分支的代码,覆盖你本地的
- 点 Accept Both Changes:把两段都留着(适合追加日志、注释等不重叠修改)
- 如果需要手动调整(比如合并逻辑、删冗余),直接在中间空白处编辑,改完删掉 >>>>>> 这三行
解决后别忘了三步收尾
冲突内容改完只是第一步,Git 状态还没更新:
- 保存文件(Ctrl+S / Cmd+S)
- 回到 VSCode 左侧源代码管理面板(Ctrl+Shift+G),右键该文件 → Stage Changes(或点前面的 + 号)
- 输入提交信息,点上方的 √ 提交 —— 此时 Git 才真正认为冲突已解决
预防比解决更省力:几个小习惯
频繁冲突往往源于协作节奏问题,不是工具不会用:
- 每天开始工作前先 pull 最新 main,而不是攒到要提交时再拉
- 功能分支别拖太久,完成一小块就 push + 提 PR,减少并行修改同一文件的概率
- 对配置文件(如
package.json、tsconfig.json)这类易冲突文件,约定好修改顺序或分工
基本上就这些。VSCode 不会替你决定哪段代码该留,但它把选择权清晰摆在你眼前——看清标记、选对按钮、记得暂存,冲突就不再是黑箱。