在 VS Code 中合并分支时,若需仅合并部分代码而非全量合并,可通过以下步骤进行分支对比和选择性合并:
一、准备工作:切换到目标分支
打开 VS Code 左侧「源代码管理」面板(快捷键 Ctrl+Shift+G 或 Cmd+Shift+G)。
点击分支名称(通常显示在面板顶部,如 main 或当前分支),在弹出的分支列表中选择你要合并到的目标分支(例如想把 feature 分支的部分代码合并到 main,则先切换到 main 分支)。
二、对比分支并选择性合并
方法 1:使用「分支对比」功能(推荐)
打开命令面板(快捷键 Ctrl+Shift+P 或 Cmd+Shift+P)。
输入并执行命令:Git: Compare References。
在弹出的窗口中:
第一个输入框选择「目标分支」(如 main,即你当前所在的分支)。
第二个输入框选择「源分支」(如 feature,即你想要合并部分代码的分支)。
此时 VS Code 会显示两个分支的所有文件差异,左侧为目标分支代码,右侧为源分支代码。
选择性合并代码:
对于要合并的文件,点击文件名称打开对比视图。
在代码对比界面中,每一行差异会显示「接受当前更改」(保留目标分支)、「接受传入更改」(合并源分支)、「接受两者更改」等按钮(鼠标悬停在差异行旁会显示)。
按需点击按钮,仅合并需要的代码行。
方法 2:通过「拉取请求」对比(适合团队协作)
若使用 Git 远程仓库(如 GitHub、GitLab),可先在远程创建从 feature 到 main 的拉取请求(PR/MR)。
在 VS Code 中安装对应仓库的插件(如 GitHub Pull Requests and Issues)。
在插件面板中打开该拉取请求,即可查看分支间的文件差异。
同样可在差异视图中选择性接受代码更改,修改后提交到目标分支。
三、手动合并后提交
完成部分代码合并后,回到「源代码管理」面板,会看到工作区有修改的文件。
输入提交信息,点击「提交」(对勾图标),将选择性合并的代码提交到目标分支。
(可选)若需推送到远程,点击「同步更改」(刷新图标)。
关键技巧
文件过滤:在分支对比视图中,可通过搜索文件名快速定位需要合并的文件。
放弃单个文件合并:若误合并了某个文件,右键点击文件选择「放弃更改」即可还原。
使用暂存区:对于复杂的部分合并,可先将需要的代码行暂存(git add -p),再提交暂存的更改。
通过以上步骤,既能精确对比分支差异,又能实现仅合并所需代码的需求,避免全量合并带来的冲突风险。